エクセルがともだち

会社で一番のともだちがエクセル・・・のアラフィフパート事務員のつれづれ帳。備忘録もかねてエクセルのことやVBAのことを書いていくつもりです。

【Excel/関数】キーが複数ある時、VLOOKUP的なことをINDEX関数とMATCH関数でできた

INDEX関数、MATCH関数などを使ってVLOOLUPではできないキーが左端にないなどの場合のVLOOKUP的なことを実現するというのをやっています

mwkexcel.hatenablog.com

mwkexcel.hatenablog.com

 

キーが複数列に分かれている場合はできないだろうと思ったら、できる!ということを書いてある記事を発見しましたのでやってみました。

INDEX関数とMATCH関数を使っています。

INDEX関数とMATCH関数を使ったVLOOKUP的な指定方法は

=INDEX(検索範囲 , MATCH(検索キー , 検索範囲のキー列範囲 , 0))

でした。(0は完全一致)

この「検索キー」と「検索範囲のキー列範囲」を&で繋げることで複数列をキーとして使用することができます。

 

下図ではA列「年」B列「組」を検索キー列としています。

1年4組の担任氏名を求める式をセルG2に入力しています。

G2はセルE2「年」セルF2「組」がキーとなります。

=INDEX( C2:C6 , MATCH ( E2 & F6 , A2:F2 & B2:B6 , 0 ))

検索キーを&でつなぎ、検索範囲のキー列範囲も&でつないでいます。

参考にした記事では一度エラーになるのでShift+Ctrl+Enterで確定する、と書いてありましたが、自宅のパソコンではそのままEnterのみでエラーにならず求めたい値を表示することができました。

f:id:mwke:20211212183839p:plain

こんなこともできるんですねえ。

こちらの記事で勉強させていただきました。

ありがとうございました。

エクセルINDEX関数とMATCH関数で複数条件AND(かつ)で値を抽出!複数列もOK | ホワイトレイア (whiteleia.com)