どうもasです。
MATCH関数に複数条件を指定できたら、みんな大好き「INDEX × MATCH」がもっと最強になるよなあ。
ということで、今回はMATCH関数に複数条件を指定して、下記のような「INDEX × MATCH」を実現させる方法を説明します。
↑完成はこんな感じ
複数条件指定する方法
使用している関数はこんな感じです↓
※参照先がわかりやすいように左の表はテーブルに変換し「テスト結果」と言う名前を付けてあります。
=INDEX(テスト結果[点数],MATCH(1,(テスト結果[氏名]=H3)*(テスト結果[区分]=H4)*(テスト結果[教科]=H5),0))
ざっくり説明
1.MATCH関数の「検査値」の引数に「1」を入れます。
2.「検査範囲」の引数に検査範囲と検査条件をイコールで結びます。
3.上記手順で各配列での「FALSE」OR「TRUE」を返します。
4.「FALSE」=「0」、「TRUE」=「1」なので、全ての配列が「TRUE」の配列のみ「検査値」と一致します。
5.よって、全ての条件に一致した配列の行数(列数)を返します。
まとめ
いかがでしたでしょうか?
この関数の作り方、XLOOKUP関数とかでも使えるんですが、恐らくXLOOKUP関数の場合は「&」を使った式の方が楽なのかな?
今回の例で言うと「=XLOOKUP(H3&H4&H5,テスト結果[氏名]&テスト結果[区分]&テスト結果[教科],テスト結果[点数])」みたいな感じ。
機会があればそっちの説明も詳しくします。
それではまた。
業務代行始めました!
ココナラにてExcel業務の代行サービスを始めました。
以下のような事でお悩みの方、お気軽にご相談ください。
以下のような事でお悩みの方、お気軽にご相談ください。
エクセルでの業務を効率化するツールを作りたいけど、イメージ通りに作れない・・・
業務で使っている既存のファイルが使いにくいけど、どう改修すればいいかわからない・・・
エクセルを使った業務は苦手なので、そもそも誰かに代行してほしい・・・