「Excelでセルの値を検索する関数まとめ|VLOOKUP・MATCH・INDEXの使い分けガイド」
Excelで大量のデータを扱っていると、「特定のセルをすばやく見つけたい」「値に一致するセルだけ抽出したい」といった場面がよくあります。
このページでは、Excelでセルを検索する方法を、基本操作から関数の応用までわかりやすく解説します。
初心者でもすぐに使える実例付きで、検索効率を劇的にアップさせましょう。
(参考)
VBAからも
Application.WorksheetFunction.ワークシート関数()
とすると、ワークシート関数を使うことが出来ます。
VLookupワークシート関数
- VLookup(検索値, 検索セル範囲, 取出したい列番号, 近似一致フラグ)
-
検索セル範囲の左端列から検索値を探し出し、検索セル範囲内の指定した列番号の値を取得します。
検索値:検索したい値
検索するセル範囲:検索値を検索するセル範囲を指定
取出したい列番号:検索するセル範囲 の左から何列目の値を取出したいか指定
近似一致フラグ:TRUE 近似一致(完全に一致する値がなければ近い値を取得)
但し、検索セル範囲の左端をキーに並び替えしてなければならないFALSE 完全一致
セル E2 は 31 が表示されます
| A | B | C | D | E | F | |
| 1 | 名前 | 年齢 | 探す名前 | 年齢 | ||
| 2 | イシカワ | 24 | カワサキ | =VLOOKUP(D2,$A$2:$B$5, 2, FALSE) 31 が表示されます |
||
| 3 | カワサキ | 31 | ||||
| 4 | ノムラ | 54 | ||||
| 5 | サカイ | 40 |
HLookupワークシート関数
- HLookup(検索値, 検索セル範囲, 取出したい行番号, 近似一致フラグ)
-
検索セル範囲の上端行から検索値を探し出し、検索セル範囲内の指定した行番号の値を取得します。
検索値:検索したい値
検索するセル範囲:検索値を検索するセル範囲を指定
取出したい行番号:検索するセル範囲 の上から何行目の値を取出したいか指定
近似一致フラグ:TRUE 近似一致(完全に一致する値がなければ近い値を取得)
但し、検索セル範囲の左端をキーに並び替えしてなければならないFALSE 完全一致
セル C5 は 31 が表示されます
| A | B | C | D | E | F | |
| 1 | 名前 | イシカワ | カワサキ | ノムラ | サカイ | |
| 2 | 年齢 | 24 | 31 | 54 | 40 | |
| 3 | ||||||
| 4 | 探す名前 | 年齢 | ||||
| 5 | カワサキ | =HLOOKUP(B5,$B$1:$E$2, 2, FALSE) 31 が表示されます |
MATCHワークシート関数
- MATCH(検索値, 検索セル範囲, [照合の種類])
-
検索セル範囲から検索値を探し出し、検索セル範囲内の何番目かを返します。
検索値:検索したい値
検索するセル範囲:検索値を検索するセル範囲を指定
取出したい列番号:検索するセル範囲 の左から何列目の値を取出したいか指定
近似一致フラグ:-1 以上
但し、検索セル範囲が昇順(小さい→大きい)に並んでいる必要があります0 完全一致 1 以下
但し、検索セル範囲が降順(大きい→小さい)に並んでいる必要があります
| A | B | C | D | E | F | G | H | |
| 1 | 色 | |||||||
| 2 | 赤色 | 青色 | 黄色 | 黄色 | =MATCH(G2,C2:E2,0) 3 が表示されます |
|||
| 3 | 大きい | 3400 | 3200 | 3000 | ||||
| 4 | サイズ | 普通 | 2400 | 2200 | 2000 | |||
| 5 | 小さい | 1400 | 1200 | 1000 | ||||
| 6 | ||||||||
| 7 | 普通 | |||||||
| 8 | =MATCH(B7,B3:B5,0) 2 が表示されます |
INDEXワークシート関数
- INDEX(セル範囲 ,行番号 ,列番号)
- セル範囲の(行番号,列番号)のセルの値を返します。
以下は、行「普通」列「黄色」の値をクロス検索(行列検索)してセルH8に表示します。
| A | B | C | D | E | F | G | H | |
| 1 | 色 | |||||||
| 2 | 赤色 | 青色 | 黄色 | 黄色 | =MATCH(G2,C2:E2,0) 3 が表示されます |
|||
| 3 | 大きい | 3400 | 3200 | 3000 | ||||
| 4 | サイズ | 普通 | 2400 | 2200 | 2000 | |||
| 5 | 小さい | 1400 | 1200 | 1000 | ||||
| 6 | ||||||||
| 7 | 普通 | |||||||
| 8 | =MATCH(B7,B3:B5,0) 2 が表示されます |
=INDEX(C3:E5,B8,H2) 2000 が表示されます |
COUNTIFワークシート関数
- COUNTIF(セル範囲 ,検索条件)
- 検索条件に一致するセルの個数を返します。
A1:A7 に東京の文字が有れば True、無ければ False を表示します。
| A | B | C | D | E | F | G | H | |
| 1 | 千葉 | |||||||
| 2 | 神奈川 | |||||||
| 3 | 横浜 | |||||||
| 4 | 秋田 | |||||||
| 5 | 東京 | |||||||
| 6 | 埼玉 | |||||||
| 7 | 福岡 | |||||||
| 8 | =COUNTIF(A1:A7, "=東京")>0 セルA5に東京があるのでTrueが表示される |
A1:A7 に静岡以外の文字が有れば True、無ければ False を表示します。
| A | B | C | D | E | F | G | H | |
| 1 | 静岡 | |||||||
| 2 | 静岡 | |||||||
| 3 | 静岡 | |||||||
| 4 | 静岡 | |||||||
| 5 | 岡山 | |||||||
| 6 | 静岡 | |||||||
| 7 | 静岡 | |||||||
| 8 | =COUNTIF(A1:A7, "<>静岡")>0 セルA5が静岡ではないのでTrueが表示される |
