VLOOKUPを使用して複数のテキスト同義語条件を検索する

VLOOKUPを使用して複数のテキスト同義語条件を検索する

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

  1. VLOOKUP()はリスト内の1つの項目(最初の引数)を検索します。
  2. リストは2番目の引数として持つ配列の最初の列にあります。
  3. 3番目の引数は配列からどの列を選択するかを指定します。1=一致する項目を返します
  4. 最後の引数を FALSE にすると、完全一致が検索されます。

さて、そうは言っても、同義語のいずれか(1つ)を入力するか、一致パターン[1]を入力して検索することができます。

返される値または項目は、最初の列の右側の任意の列 (配列定義に含まれる)、または最初の列に配置できます。

[1]*複数の文字が可能な場合、?単一の文字の場合

答え2

の回答へのコメントにある解決策は、Hannu問題なく機能するはずです。以下は、より透明性が高く、より多くのエラーをトラップできると考えられます。(ただし、より多くのエラーをトラップすると、見つけて解決したい問題が隠れてしまう可能性がありますが、データ (参照値または戻り値のデータ セット) が適切で、常に適切である可能性が高い場合は、必ずしも問題にはなりません。)

=SUM(IFERROR(VLOOKUP(C1:C3,C13:D14,2,FALSE),0))

失敗した検索をトラップしてゼロ値を与えるために使用しますIFERROR()。これにより、必要な合計に何も追加されず、SUM()単純にすべてを合計します。

(おそらく速くなるかもしれませんが、そうでない可能性もあります。検索が 1 か所で行われる場合、問題にはならないかもしれませんが、データ セット全体に対して計算される場合、サイズによっては問題になる可能性があります。)

関連情報