範囲検索を使用して複数の値を返す

範囲検索を使用して複数の値を返す

私は以下の数式を使用して、セル $A$286 の値を範囲 $B$2:$Q$284 の値と比較しています。一致するものがあれば、列 $A$2:$A$284 の対応する値を列形式で返します。セル A286 の名前が範囲 $B$2:$Q$284 の名前と一致するかどうかを調べようとしています。一致するものがあれば、列 A2:A284 (一致するものがあればどこでも) の対応する値をすべて選択し、それらの値を列形式で返します。

=INDEX($A$2:$A$284, SMALL(IF(($A$286=$B$2:$Q$284), ROW($B$2:$Q$284)-MIN(ROW($B$2:$Q$284))+1,""),COLUMN(A1)))

オンラインで複数のソースを確認しましたが、この数式は機能しているようです (主なソース: get-digital-help.com/2011/06/22/vlookup-a-range-in-excel)。ただし、私の場合は「#Value!」が返されます。

どこで間違いを犯しているのでしょうか、またどのように修正すればよいのでしょうか? ご意見をいただければ幸いです。

答え1

エラーは次の部分にあります:

$A$286=$B$2:$Q$284

単一のセルをそのように範囲と比較することはできません。次回このようなエラーをトラブルシューティングする場合は、エラーのあるセルをクリックします。次に、表示される小さな黄色のフラグをクリックします。

#VALUE 警告フラグ付きエラー

そのメニューで「計算手順を表示」を選択し、エラーの発生場所を確認します。

通常、このような検索を行うには、次のような方法をお勧めします。

=INDEX($A$2:$A$284,MATCH(A286,$B$2:$B$284,0))

しかし、それよりも複雑なことをしようとしているのかもしれません。質問からはそれが分かりません。

関連情報