ID非公開

2020/9/24 22:49

33回答

Excelで同じ結果になるであろう以下の二つの式ですが、異なる戻り値が出てしまいます。

Excelで同じ結果になるであろう以下の二つの式ですが、異なる戻り値が出てしまいます。 (現在手元にデータがなくそのまま記載できずすみません。実際の検索範囲は行5000列150位、絶対参照にしている点や前後にiferrorがあったりしますが、例として単純な式を表記します) ①=VLOOKUP(“a",A1:B11,2,FALSE) ②=INDEX(A1:B11,MATCH("a",A1:A11,0),2) 検証すると②が誤ったデータを返してしまっていました。(エラーではなく別の全く異なる行の値が出てしまっていました) 何度も確認しましたが式は合っているようでしたので、検索範囲の元データの組成や並び方、行列の数が多すぎる等,何か原因があるのか?と思ったりもしましたが、vlookではちゃんと出来ていたので…全く見当がつかずに困っています。 Index match関数で陥りやすい落とし穴、 「こんな間違いが有りがち」という例や 誤っていないかチェックした方が良いポイントをお教えいただけますと助かります。どうぞ宜しくお願いします。 考えられる原因をご教示下さい。

補足

ご回答ありがとうございます。 例が適切ではありませんでした、すみません。 検索範囲のシートは別のシートだという前提を書き忘れていました。 A1:B11 A1:A11はシート2にあります。

Excel41閲覧xmlns="http://www.w3.org/2000/svg">50

ベストアンサー

0

”a" がA列にあり、そこから探すのであれば、①に相当する式は =INDEX(B1:B11,MATCH("a",A1:A11,0)) ですね。 ただ、当方の環境では②でも正しく表示されましたけども。

ID非公開

質問者

2020/9/24 23:26

ご回答ありがとうございます。 例が適切ではありませんでした、すみません。 検索範囲のシートは別のシートだという前提を書き忘れていました。 A1:B11 A1:A11はシート2にあります。

その他の回答(2件)

0

①=VLOOKUP(“a",A1:B11,2,FALSE) a を囲んでいる””ですが、左側のが違っているようです。 手打ちじゃなくて式をコピーしてくれたら… 他は問題無く表示になりました。 別シート参照でも結果は同じです。

画像
0

=INDEX(A1:B11,MATCH("a",A1:A11,0),2) ではなく =INDEX(B1:B11,MATCH("a",A1:A11,0),2)で しょう

ID非公開

質問者

2020/9/24 23:27

ご回答ありがとうございます。 例が適切ではありませんでした、すみません。 検索範囲のシートは別のシートだという前提を書き忘れていました。 A1:B11 A1:A11はシート2にあります。