更新日:、 作成日:
エクセル INDEX と MATCH 関数を組み合わせて好きな列から検索する
はじめに
エクセルの INDEX と MATCH 関数を組み合わせる方法を紹介します。
「INDEX 関数」と「MATCH 関数」を組み合わせて、好きな列や行から検索できます。
=INDEX(A1:A3,MATCH("エクセル",B1:B3, 0),1) のようにして、列「B」から
=INDEX(A1:C1,1,MATCH("エクセル",A2:C2, 0)) のようにして、行「2」から
行見出しと列見出しを検索して交差するセルを取得できます。
「VLOOKUP 関数」は一番左の列だけ、「HLOOKUP 関数」は一番上の行しか検索できません。
VLOOKUP 関数のように好きな列から検索する
「INDEX 関数」の引数「行番号」に「MATCH 関数」を組み合わせて、好きな列から検索できます。「VLOOKUP 関数」は一番左の列しか検索できません。
それぞれの引数に何を指定するのかわかりやすく解説します。
例として名前を検索して No. を取得します。
引数「結果範囲」、どの値を取得しますか?
取得したい範囲と他の列を含む範囲を引数「結果範囲」に指定します。
取得したい範囲 $B$3:$B$5 だけでも取得できますが、引数「列番号」を使用して他の列が取得できなくなります。
引数「検索値」、何を検索しますか?
名前を検索したいので、その検索する値を引数「検索値」に指定します。文字列を直接入力するなら "エクセル" のように "" で囲みます。
引数「検索範囲」、どこから検索しますか?
名前を検索するなら、その列の範囲を引数「検索範囲」に指定します。引数「範囲」と行数を合わせる必要があります。
バージョンを検索するなら $D$3:$D$5 を入力します。
引数「列番号」、どの値を取得しますか?
引数「範囲」の中で No. の列は何番目ですか?
一番左の No. の列を基準とした 1 からの連番です。名前の列は 2、バージョンの列は 3 になります。
=XLOOKUP(B9,$C$3:$C$5,$B$3:$B$5)
これで名前を検索して No. を取得できます。
バージョンを検索して名前を取得する
バージョンを検索して名前を取得します。「MATCH 関数」を使用して、検索して見つかった行番号を取得できます。
=XLOOKUP(B9,$D$3:$D$5,$C$3:$C$5)
スポンサーリンク
HLOOKUP 関数のように好きな行から検索する
「INDEX 関数」の引数「列番号」に「MATCH 関数」を組み合わせて、好きな行から検索できます。「HLOOKUP 関数」は一番上の行しか検索できません。
上記の「VLOOKUP 関数のように好きな列から検索する」の行と列を入れ替えたのと同じなので、引数の解説は省略します。
名前を検索して No. を取得する
名前を検索して No. を取得します。「MATCH 関数」を使用して、検索して見つかった列番号を取得できます。
=XLOOKUP(B9,$C$3:$E$3,$C$2:$E$2)
バージョンを検索して名前を取得する
バージョンを検索して名前を取得します。
=XLOOKUP(B9,$C$4:$E$4,$C$3:$E$3)
表の見出しを検索する
「INDEX 関数」と「MATCH 関数」を組み合わせて、表の見出しを検索して交差するセルを取得できます。
基本は、上記の「VLOOKUP 関数のように好きな列から検索する」と「HLOOKUP 関数のように好きな列から検索する」と同じです。
行見出しと列見出しを検索する
行見出し エクセル と列見出し 365 を検索して交差するセルを取得します。
=XLOOKUP(B7,B3:B5,XLOOKUP(C7,C2:E2,C3:E5))
「MATCH 関数」から行見出しを検索して行番号を取得します。
「MATCH 関数」から列見出しを検索して列番号を取得します。
それを「INDEX 関数」の引数「行番号」と引数「列番号」に指定して、引数「範囲」の中から交差するセルを取得します。
スポンサーリンク