
https://i.stack.imgur.com/1GIk4.png
こんにちは。VLOOKUP を使用して、複数の基準、複数の同義語を検索し、テーブル入力に基づいて値を出力する必要があります。たとえば、画像 1 は、別のテーブルに後続の値を持つ同義語のリストです。関数を使用して、これらの名前のいずれかを検索し、各サンプルの対応する VLOOKUP 列に値を出力するようにしたいと思います。次のことを試しました。
=VLOOKUP(OR(C$2=TRUE,C$3=TRUE,C$4=TRUE,C$5=TRUE,C$6=TRUE,C$7=TRUE,C$8=TRUE)=TRUE,'[Worksheet2.xlsx]BD-7 1'!$F$1:$G$73,2)
しかし、うまくいきません。VLOOKUP では複数の条件の使用は推奨されないようです。ご協力いただければ幸いです。
答え1
- VLOOKUP()はリスト内の1つの項目(最初の引数)を検索します。
- リストは2番目の引数として持つ配列の最初の列にあります。
- 3番目の引数は配列からどの列を選択するかを指定します。1=一致する項目を返します
- 最後の引数を FALSE にすると、完全一致が検索されます。
さて、そうは言っても、同義語のいずれか(1つ)を入力するか、一致パターン[1]を入力して検索することができます。
返される値または項目は、最初の列の右側の任意の列 (配列定義に含まれる)、または最初の列に配置できます。
[1]*
複数の文字が可能な場合、?
単一の文字の場合
答え2
の回答へのコメントにある解決策は、Hannu
問題なく機能するはずです。以下は、より透明性が高く、より多くのエラーをトラップできると考えられます。(ただし、より多くのエラーをトラップすると、見つけて解決したい問題が隠れてしまう可能性がありますが、データ (参照値または戻り値のデータ セット) が適切で、常に適切である可能性が高い場合は、必ずしも問題にはなりません。)
=SUM(IFERROR(VLOOKUP(C1:C3,C13:D14,2,FALSE),0))
失敗した検索をトラップしてゼロ値を与えるために使用しますIFERROR()
。これにより、必要な合計に何も追加されず、SUM()
単純にすべてを合計します。
(おそらく速くなるかもしれませんが、そうでない可能性もあります。検索が 1 か所で行われる場合、問題にはならないかもしれませんが、データ セット全体に対して計算される場合、サイズによっては問題になる可能性があります。)