この記事では、特定文字や値で検索し一致したら隣のセルが自動で表示・反映・参照される方法を解説します。
今回は、
・右隣の値を取得はVLOOKUP関数
・左隣の値を取得はindex関数とmatch関数の組み合わせ
を用いる方法で解説します。
それでは実際のサンプルを用いて、詳しい処理方法を解説していきます。
エクセルで一致したら隣のセルの値を返す・参照・反映方法【特定文字や値を探して隣のセルを表示:自動入力】
下図のようにB3からB12の範囲を特定文字「☆」で検索し、条件に一致したセルの右側(例では会場)が自動で表示されるようにします。
検索結果を表示するF3セルに設定した数式と数式パレットで解説します。
数式:
=VLOOKUP(“*☆*“,B3:C12,2,FALSE)
検索したい特定文字は「☆」ですが、アスタリスク(*)で囲んでいます。これは前後の文字列を含まず「☆」だけを検索します。
また検索値は文字列なので、ダブルコーテーション(”)で更に括ります。
F3のセルには以下のように検索結果で会場は名古屋が表示されましたね。
ここで一つ注意してほしいのですが、検索方法をTRUE(または省略)にした場合はあいまい検索となり一致せずにエラーになりますので注意して下さい。
エクセルで複数条件で一致したら隣のセルの値を返す・参照・反映方法【特定文字や値を探して隣のセルを表示:自動入力】
次は複数条件でVLOOKUPで検索し一致したら値を返す方法をサンプルで解説します。
サンプルでは、F3セル:条件1(会場(1))、G3セル:条件2(対象(2))の複数条件で左のデータベースを検索して一致した条件の隣のセルから抽出しH3セルに表示させます。
それではこの設定結果をみてみましょう。
H3セルに「東京」「非会員」に一致する講座No「4」が表示されましたね。
検索方法についてはこのサンプルでは「TRUE」であいまい検索ですが、文字列を特定する場合には「FALSE」が正解の場合もあります。
#N/Aなどエラーとなる場合は確認してみて下さい。
エクセルで一致したら隣のセルの値を返す・参照・反映方法【右から左を検索】
上では検索値より右側のデータを取得しましたが、ここでは左側よりデータを取得する方法を解説します。
右側のデータを取得するケースについては、VLOOKUP関数を使って解説しましたが、このケースでは検索値より左側のデータを取得する場合VLOOKUP関数では取得できません。
上図のサンプルでは、検索し抽出するセルに、
=VLOOKUP(F3&G3,B3:D12,1)
検索値より左側のB列のデータを取得するように数式を書きましたが、#N/A とエラー表示になっていますね。
そこで今回のケースでは、INDEX関数とMATCH関数の組み合わせで左側の列よりデータを取得する方法を解説します。
上のサンプルでVLOOKUP関数を使って検証した同じデータを使って解説したいと思います。
INDEX関数、MATCH関数の記述方法を解説します。
行番号:検索する行位置を指定します。
列番号:検索する列位置を指定します。
検索値:検索する値(数値、文字列、または論理値)を指定します。
範囲:検索する範囲を指定します。
照合の種類:1(検索値以下)、0(完全一致)、-1(検索値以上)
※ 照合の種類は今回は省略しました。省略時は”1”になります。
それではサンプルを見ながら、INDEX関数とMATCH関数の組み合わせ方法を解説します。
検索値から抽出されたデータを表示したいH3セルに設定する値を数式と数式パレットを使って解説します。
=INDEX(B3:D12,MATCH(F3&G3,C3:C12&D3:D12),1)
INDEX関数では、
※詳細はMATCH関数で説明します。
3 列番号:データベースから抽出したい列番号”1”を指定しました。
また、
MATCH関数では、
上記設定で検索値の左側のデータが取得できました。
「東京」「非会員」で検索し該当する左の1列目の講座No「4」が表示されていますね。
まとめ エクセルで値が一致したら隣のセルの値を表示・参照・反映方法【特定文字や値を探して隣のセルを表示:自動入力】
この記事では、エクセルで一致したら隣のセルの値を返す方法で、特定文字や値を探して表示する方法、複数条件で特定文字や値を探して表示する方法、データベースの左側の値を表示する方法を解説しました。
エクセルでのさまざまな処理を理解し、業務に役立てていきましょう。