- 締切済み
vlookup複数列検索
vlookupの複数列検索でどういった計算式がいいか教えてください。 A列 B列 C列 D列 2/1 100 6/1 200 とデータがあったとして 初めにA列の2行目のデータをvlookupで計算式をかけ A列になかったら C列の2行目を検索するようにしたいのですが 本来だったらC・D列をA・B列にもっていけばいいのでしょうが、私のやりたいこととして このような2重条件の計算式に持っていきたいです。 vlookupの複数条件は色々とやり方があるみたいで、どれが適してるのか 分からず困っています。 どなたかご存知の方教えてください。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- yosifuji20
- ベストアンサー率43% (2675/6115)
まずVLOOKUPは「A列の2行目のデータをvlookupで計算式をかけ」というように1行のデータを相手にするものではなく、例えばA2:B20というように複数行×複数列のデータを相手に使うものです。 通常A列をキーにして、そのキーに合うB列よりも右側のデータを探します。 従って、「A列の2行目のデータをvlookupで計算式をかけ」という意味が不正確です。 次に最初のVLOOKUPでデータがない場合の判定ですが、その場合は =VLLOUP(3、A2:B10,2、FALSE) のように最後にFALSEを指定します。こうするとキー(「この場合は3)に一致するデータを検索します。 一致するデータがない場合は#N/A と表示されます。 このときにはC・D列を検索するようにすればよいのです。 #N/Aの判定はISNA関数で可能です。 例としては =IF(ISNA(VLLOUP(3、A2:B10,2、FALSE)、VLLOUP(3、C2:D10,2、FALSE)、VLLOUP(3、A2:B10,2、FALSE)) この式はA2:B10が#N・AであればC2:D10を検索、そうでなければA2:B10を検索した値という意味です。
補足
yosifuji20さん ご回答ありがとうございました。 同時に私の間違えた理解をしていたことに気がつきました。 これを例えばE列F列もある場合は計算式はどうしたらよいのでしょうか? ISNA計算式を組み立ててもエラーになってしまい中々うまくいきません。 お手すきのときで構わないので教えてください。 お願いします。