この記事では、エクセルにて検索で一致したら検索条件の値を返す方法について解説していきます。
エクセルで文字列や数値検索に使われる関数は代表的なものとして、VLOOKUP関数、HLOOKUP関数、FIND関数、MATCH関数などがありますが、ここでが代表的な1VLOOKUP関数を使う方法を解説します。
参考ですが、VLOOKUP関数とHLOOKUP関数の使い分けは以下になります。
VLOOKUP関数とHLOOKUP関数の使い分けは検索する範囲を縦方向に検索するか、横方向に検索するかの違いですね。
それでは実際のサンプルを用いて、詳しい処理方法を解説していきます。
エクセルで一致したら値を返す方法【検索一致:関数:その値1つ】
エクセルでVLOOKUP関数により検索条件に一致したら値を返す方法をサンプルで解説します。
VLOOKUP関数の使い方は以下を参照して下さい。
使用例を数式と数色パレットの2つで解説します。
例では右側の表が検索対象のデータベースです。右側のB3セルに検索値(ここでは商品名)を入れると、その商品の単価と在庫数がC3セルとD3セルに表示されます。
C3セルに設定する値は以下を参照して下さい。
C3セルにB3の商品Dの単価が表示されましたね。D3セルには、
=VLOOKUP(B3,F3:H12,3,FALSE) ←列番号「3」を指定
という数式を設定しましたので、商品Dの在庫数「6」が表示されましたね。
エラー処理
ここでVLOOKUP関数を使った時に「#N/A」というエラーを見かけることがあると思います。このエラーが出たとしても問題ではないのですが、見た目は良くないですね。
このエラーの発生原因と対処方法について補足します。
これが発生する原因は、数式が参照する検索値のセルに値が無い場合に発生します。
このような場合に、エラーを表示させたくない場合には、IFERROR関数を使って対処する方法があります。
C3セルに「=IFERROR(VLOOKUP(B3,G3:I12,2,FALSE),””)」のように入力するとエラーが表示されなくなりました。
B3セルに検索値のデータが入ると、C4セルにはデータが表示されました。如何ですか、もしエラーを表示させたくない場合はこの方法を試してみて下さい。
エクセルで一致したら値を返す方法【別シートに記載】
データベースがエクセルの別シートにあり、そこからデータを検索して一致したら値を表示させる方法を解説します。
検索データベースは「商品リスト」、検索シートは「商品検索」と別シートになっています。
下記の例ではB3セルの「商品C」で「商品リスト」シートのデータを検索して単価と在庫庫数を表示させました。
C3セルには、=VLOOKUP(B3,商品リスト!B3:D12,2,FALSE)という数式を入れていますね。範囲のところに、”商品リスト!B3:D12” と記載することで別シート「商品リスト」から商品Cのデータを検索して表示させています。
このように別シートを参照する際には、範囲の前に「商品リスト!」とシート名を入れることで指定できます。
数式パレットで見てみるとわかりやすいですね。
エクセルで複数条件で一致したら値を返す方法
エクセルで複数条件で一致した値を返す方法はいくつかありますが、今回はXLOOKUP関数を使う方法を解説します。
XLOOKUP関数は、下方向に検索するVLOOKUP関数と横方向に検索するHLOOKUP関数を合わせた関数になります。
以下が複数条件一致のサンプルです。
例ではH3セルにXLOOKUP関数の条件式を入れています。数式と数式パレットの二つで見てみましょう。
数式としては =XLOOKUP(F3&G3,B3:B14&C3:C14,D3:D14) と設定しました。
数式を入れたH3セルには、条件1(商品A)と条件2(単価:200円)に一致する商品の在庫数が表示されていますね。
H4セルにも同様に条件1(商品A)と条件2(単価:200円)に一致する在庫数が表示されていますね。
まとめ エクセルで一致したら値を返す方法【検索一致:別シート::関数:複数列など】
この記事ではエクセルで一致したら値を返す方法について、同一シート内のデータベース、別データベースから抽出する方法、複数条件から抽出する方法を解説しました。