Excel便利帳
Excelを利用して、便利に使える実践シリーズと
機能を紹介していきます。

エクセル実務シリーズ Vol.1
エクセルの「VLOOKUP関数」、ご存じですか?
便利な機能ですが、検索する値が表の左側にないと使えないという内容です💦
実務のあるある
右側にある表でデータを取り出ししたい!でも、列を入れ替えることはできない💦
そんなときの解決策として
「MATCH関数」を活用して、右側にあってもデータを取得する方法です♫
この方法は、表の構造に縛られず、自由にデータを取り出し設定ができます。
VLOOKUP関数と同じように条件に合う特定の値を取り出すことができ、代わりの関数としても使うことが出来ます。
INDEX、MATCH関数はINDEX関数で範囲を指定し、MATCH関数で条件に一致する データの行番号を検索するという流れでVLOOKUP関数と同じような働きをさせることができます。
欠点として、計算式は関数を入れ子(ネスト)にしたり複雑になってしまいますが、VLOOKUP関数が使えない時、代替関数として覚えておくととても便利です。
MATCHとは
-
検索値:探したい値(数値、文字列、論理値、またはセル参照)を指定します。文字列の場合は "関西" のようにダブルクォーテーションで囲みます
-
検索範囲:検索対象のセル範囲(1行または1列)を指定します。
※複数行・複数列を指定するとエラーになります -
照合の型(省略可能):検索方法を指定します。
-
0:完全一致(順序は問わない)
-
1:検索値以下の最大値を返す(昇順に並べる必要あり)
-
-1:検索値以上の最小値を返す(降順に並べる必要あり)
省略時は 1(近似一致)が既定値です
-
-
下記のように入力しましょう。
※=VLOOKUP(検索名、B2:C6、2列目、FALSE)完全一致
VLOOKUPの場合
-
MATCH行は検索名を参照、範囲は名前列、照合の完全一致順序は問わないとします。
INDEX+MATCHの例
-
=MATCH(検索名、検索したい列を選択、0)0は完全一致の意味です。
-
=INDEX(検索列を選択、MATCH(検索名、検索列を選択、0))MATCH行と同じなので、MATCH行を参照してもよいです。上と同じで、INDEXの選択位置が違うだけです。
Excelの検索関数の解説
VLOOKUPの基本と弱点
-
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)
-
検索値: 探したい値範囲: 検索する表の範囲列番号: 範囲の左端から数えて、取得したいデータがある列の番号検索方法: TRUE(近似一致)またはFALSE(完全一致)MATCH関数: 指定した範囲内で、検索値が何番目にあるかを返します。
-
=MATCH(検索値, 検索範囲, 検索方法)INDEX関数: 指定した範囲の中から、行と列の位置を指定して値を取り出します。
-
=INDEX(参照範囲, 行番号, [列番号])
解説
VLOOKUP(B10,B2:C6,2,FALSE)MATCH(B15, B2:B6, 0): 検索値B15(山本)がB2:B6(氏名列)の何番目にあるかを探します。結果は4となります(山本さんが上から4番目)。
-
部署=INDEX(C2:C6, MATCH(B15, B2:B6 0)): C2:C6(部署列)の中から、MATCH関数で求められた4番目の値、つまり「開発部」を取得します。
-
社員ID=INDEX(A2:A6, MATCH(B15, B2:B6, 0)): A2:A6(社員ID列)の中から、MATCH関数で求められた4番目の値になります。つまり「1030」を取得します。
このように、MATCHで位置を特定し、INDEXでその一のデータを0取得することで、検索列が左端になくても自由にデータを検索できるようになります。
詳しくは、教室で一緒に学びましょう~♫



Vol.2へ 後日公開予定
2026/10/22

