Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2019)
INDEX、MATCH関数の結果が違う
投稿日時: 24/03/27 12:00:42
投稿者: ラングドシャ

よろしくお願いいたします。
 
@INDEX(list[原産国],MATCH($C2&$X2,list!$B:$B,0))
 
AINDEX(list!L:L,MATCH($C2&$X2,list!$B:$B,0))
 
listシートの原産国情報を抽出するため、上記@の式を設定しましたが結果がずれて表示されました。
(正しい結果もありました)
 
Aの式に変更したところ、正しい結果になりました。
list!L:L = [原産国]ですが、@の式でダメなのはなぜなのでしょうか?
指定方法が混在しているからなのでしょうか?
 
listシートはパワークエリで取り込んだデータです。
 
よろしくお願いいたします。

回答
投稿日時: 24/03/27 12:28:59
投稿者: んなっと

    B  C  D  E  F  G  H  I  J  K    L
1 検索値 列1 列2 列3 列4 列5 列6 列7 列8 列9 原産国
2   ア1                          あ
3   ア2                          い
4   ア3                          う
5   ア4                          え
 
List[原産国]は2行目から始まり、1行目は含まれません
 
    L
1 原産国 ← ★[含まれない]
2   あ ← 1 [ここからスタート]
3   い ← 2
4   う ← 3
5   え ← 4
 
それに対して、List!$B:$B や List!L:L は1行目から含まれています。その分のずれです。
 
    B                L
1 検索値 ← 1[ここからスタート] 原産国 ← 1[ここからスタート]
2   ア1 ← 2            あ ← 2
3   ア2 ← 3            い ← 3
4   ア3 ← 4            う ← 4
5   ア4 ← 5            え ← 5
 
 
したがって、List[原産国]を使う場合の正しい式は、
 
=INDEX(List[原産国],MATCH($C2&$X2,List!$B:$B,0)-1)
 
=INDEX(List[原産国],MATCH($C2&$X2,List[検索値],0))

投稿日時: 24/03/27 12:50:02
投稿者: ラングドシャ

んなっと様
 
そうだったんですね。すごく勉強になりました。
テーブルのデータを検索する場合には気を付けないとだめですね。
 
ありがとうございました。