とつぜん始まるExcelの使い方
INDEX関数と合わせて使われやすいMATCH関数。
今回はMATCH関数単体で機能を見ていきます。
MATCH関数の機能
指定した1列、または1行から値を検索し
対象が何番目にあるかを表示します。
関数
=MATCH(検査値,検査範囲,[照合の種類])
・検査値
検索する値や、値の入ったセルを指定する
・検査範囲
検索する範囲を1行か1列だけ指定する。
・照合の種類
「1」「0」「-1」のいずれかを選択。
入力を省略すると「1」を選んだことになる、
そういう意味なので[]がついています
※”照合の種類”の数字の意味
1 | 検査値がない場合それ以下の最大値を選択 検索対象を昇順に並べる必要がある |
0 | 完全一致のみを検索 |
-1 | 検査値がない場合それ以上の最小値を選択 検索対象を降順に並べる必要がある |
使用例
検索対象を確認
社員リストがこのようにあるとします。
ここからデータを検索します。
![](https://milank.jp/wp-content/uploads/2020/04/excel-vlookup_001-1-1024x735.jpg)
リストの横に検索欄を追加します。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_002.jpg)
ではMATCH関数を入力していきましょう
入力例
セルI5に「=MATCH()」と入力したら
ひだりの「fx」をクリック、引数を入力していきます。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_004.jpg)
④検査値
検索する値を直接入力か、値の入ったセルを指定します。
今回は前の画像の①の部分I3を指定します
⑤検査範囲
検索する対象の1行、または1列を指定します。
複数行列を指定するとエラーになります
今回は「B3:B49」を指定します
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_012.jpg)
⑥照合の種類
検索方法を指定します。
今回は完全一致を検索するので「0」と入力します。
それぞれを入力してこのようになりました。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_007-1024x523.jpg)
では表示はどうなったでしょうか?
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_013.jpg)
はい、しっかり表示されました
これでMATCH関数は終了です。
とおもいきや…
リストの追加に対応しよう
リストをテーブル化していない場合
社員IDなので新入社員をリストに追加することになりますが、
このままリストに追加すると新入社員は検索対象外になります。
追加してみましょう。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_014.jpg)
このまま追加したデータを検索しようとすると…
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_026.jpg)
エラーになります。
…というのも、
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_016.jpg)
このせいです
新入社員が入るごとに指定し直すのも面倒ですし、
適当に下に長い範囲を指定するのもデータ管理的に
きれいではありません。
ということで検索対象をテーブル化します。
リストのテーブル化
社員IDリスト内のどのセルでもよいので選択した状態で
挿入タブ テーブル をクリック
![](https://milank.jp/wp-content/uploads/2020/04/excel-vlookup_016.jpg)
すると次のようなウィンドウが開きます。
先頭行は見出しなので
先頭行をテーブルの見出しとして使用する
にチェックを入れます
![](https://milank.jp/wp-content/uploads/2020/04/excel-vlookup_013-450x240.jpg)
すると表にフィルターが適応された状態になりました。
これでテーブルとしてExcelに認識されます。
わかりやすいようにテーブル名も
デザインタブから変更しておきます。
ここでは「社員リスト」としておきます。
![](https://milank.jp/wp-content/uploads/2020/04/excel-vlookup_017.jpg)
それではMATCH関数の範囲を訂正しましょう。
MATCH関数の範囲をテーブル名[見出し名]で指定
MATCHの範囲はテーブル名と見出しで指定できます。
検索範囲を”テーブル名[見出し名]”と入力。
テーブル化したあとであれば、テーブル化前と同じ指定の仕方をしても
Excelが自動に認識し↓のようになってくれます。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_017-1024x524.jpg)
この状態でリストを追加すると…
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_018-1024x334.jpg)
きちんと検索してくれました。
テーブル化することで新しく追加されたデータが
テーブルの一部として認識してくれます。
これによりこれ以降追加したデータも検索対象として
自動的に検索範囲を拡大してくれます。
照合の種類による違い
これまでは完全一致のみを対象にしました。
カンタンに別の照合による違いを記しておきます。
今回のような社員リストでは使いみちはありませんが、
例えばテストの点数によって5段階評価する場合など
自動評価するなどに使用できます。
照合の種類が「1」の場合
検索対象を昇順に並べる必要があります。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_023.jpg)
この場合は検査値「055000」が存在しないので
それ以下の最大の数字のである「050008」の
行数「5」を表示しています
照合の種類が「-1」の場合
検索対象を降順に並べる必要があります。
![](https://milank.jp/wp-content/uploads/2020/04/excel-match_025.jpg)
この場合では検査値「435000」が存在しないので
それ以上の最小の数字「440001」の
行数である「6」を表示しています
-Excel MOS対策講座-(順次追加作成中)
MOS2016 もくじへ
MOS2016 エキスパートもくじへ
MOS365&2019 もくじへ
-VBA講座-
未作成
-関数の使い方-
VLOOKUP関数の使い方
MATCH関数の使い方
INDEX関数の使い方
IFS関数の使い方
CLEAN関数の使い方
AND OR NOT 関数の使い方
PHONETIC関数の使い方
XLOOKUP関数の使い方
-条件付き書式-
土日祝日に条件付き書式で色をつけろ!