給与額から氏名を逆引きする(INDEX + MATCH)
給与監査で1件の金額がフラグされましたが、戻ってきたのは数字だけで、氏名が必要です。名簿は氏名が先頭列、給与が末尾列で、調べたい金額は E2 にあります。対応する社員名を Employee セル F2 に返してください。
セル参照を使って数式を書いてください。テストケースを切り替えても正しい結果になる必要があります。
テストケース
1
2
3
リセット
提出
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。
テストケース
1
2
3
リセット
提出
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 準備完了 ハイライトされたセルに数式を入力し、「提出」を押してください。
ポイント解説
これは逆引きです。検索キーが、欲しい値の右側にあります。VLOOKUP は補助列なしでは左を見られませんが、MATCH で行を探し INDEX で任意の列を取るのが面接の定番です。
よくある質問
表の左方向を検索するには?
INDEX + MATCH を使います。=INDEX(A2:A6, MATCH(E2, C2:C6, 0))。MATCH が給与で行を決め、INDEX が同じ行の名前を返します。補助列は不要です。
MATCH の 0 は何ですか?
完全一致です。1 や -1 だと並べ替え済み想定の近似になり、ここでは誤った名前が静かに返ることがあります。
この問題で VLOOKUP より INDEX/MATCH が良い理由は?
VLOOKUP は範囲の左端列だけを検索し、右側の列を返します。キーが結果の右にある(この給与のような)場合は INDEX/MATCH(または XLOOKUP)が標準です。