Excel関数に関するお悩み等ありましたらお問合せフォームからメッセージください(^^)

MATCH関数に複数条件を指定する方法

どうも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業務の代行サービスを始めました。
以下のような事でお悩みの方、お気軽にご相談ください。

 エクセルでの業務を効率化するツールを作りたいけど、イメージ通りに作れない・・・

 業務で使っている既存のファイルが使いにくいけど、どう改修すればいいかわからない・・・

 エクセルを使った業務は苦手なので、そもそも誰かに代行してほしい・・・

 後から自分でもメンテナンスしたいから、マクロとか高度な機能は使わないで欲しい・・・