
エクセル初心者
エクセルで存在チェックはできるのかな?膨大なデータになったエクセルから探したい言葉を簡単な方法で確認する方法を知りたい!
簡単な方法があるよ!いくつかパターンはあるけど、今回はCOUNTIF関数とMATCH関数を使った方法でわかりやすく解説するね!
Dr.オフィス
今回は膨大なデータから特定の文字列を見つけ出す存在チェックの方法をCOUNTIF関数とMATCH関数を使って紹介します。
COUNTIF関数とMATCH関数のメリットとデメリットも解説するので、状況に合わせた存在チェックの方法を理解することができます。
- 検索条件を記載するセルと、ありかなしかを表示させるセルを用意する
- 検索条件を記載するセルに存在チェックをしたい特定の文字列を入力
- ありかなしかを表示させるセルにCOUNTIF関数を設定する
マイクロソフトオフィススペシャリストの資格を持つ私が、エクセルの存在チェックについてわかりやすく解説していくよ!
Dr.オフィス
この記事で紹介する方法をマスターすれば、簡単にエクセルのデータからチェックしたい文字列の存在を確認できるようになり、膨大なデータを扱う方々なら作業効率のアップに繋がります。
これから紹介するテクニックを覚えて、仕事に役立てていきましょう!
※本記事は『OS:Windows11』画像は『Excelのバージョン:Microsoft365』を使用しています。
目次
エクセルで存在チェックをするときに便利な関数を使った方法2選
エクセルで存在チェックをするには関数を使うのですが、その中でもメジャーな方法は以下の2つです。
- IF関数とCOUNTIF関数で”あり”と”なし”と表示させるようにする
- MATCH関数で何番目のセルに特定文字列があるかを確認する
どちらもメリットとデメリットがあるので、扱うデータががどうなっているのかで使い分けてください。
COUNTIF関数のメリット・デメリット
メリット | ・条件に一致するセルの個数カウントにも利用できる ・複数の行と列を対象にして検索できる ・シンプルでわかりやすい |
デメリット | ・検索結果の位置情報は取得できないため対象がどこにあるのかまではわからない ・関数の対象となるデータ量が多いとエクセルそのものが重たくなる |
MATCH関数のメリット・デメリット
メリット | ・膨大なデータで用いるCOUNTIF関数と比べると計算が高速な場合が多い ・行番号や列番号を取得できるので位置の特定が可能 ・INDEX関数と組み合わせることで高度な検索も可能 |
デメリット | ・検索が不一致になるとエラーが出るので、そのまま使うと見栄えが悪い ・複数の一致項目がある場合、最初に見つかった位置しかわからない ・1行または1列のチェックしかできず、複数の行と列を1つのMATCH関数では確認できない |
エクセルを使っている方にとってIF関数とCOUNTIF関数はかなり馴染みのある関数です。
MATCH関数と比べ、大きな違いは位置情報を返すか返さないかなので、探していた言葉がどこにあるのかもチェックしたいという方はMATCH関数を使ってみてください。
COUNTIF関数で特定文字の有無を確認しよう!
それではCOUNTIF関数を使って特定文字の有無をチェックしていきます。
想定する状況としては、1から5という5段階評価をしている成績表のデータをまとめたもので、最低の1を取った生徒がいるかどうかの確認となります。
- STEP
検索条件を記載するセルと、ありかなしかを表示させるセルを用意する
セルを用意する 検索条件を記載するセルと、ありかなしかを表示させるセルを用意してください。
画像では検索条件を記載するセルは『H3』、ありかなしかを表示させるセルは『I3』となります。
- STEP
検索条件を記載するセルに『1』と入力する
1と入力 成績が最低の『1』の人がいるかどうかのチェックなので、検索条件を記載するセルには『1』と入力してください。
- STEP
ありかなしかを表示させるセルにIF関数とCOUNTIF関数の組み合わせをコピーして貼り付ける
コピーして貼り付け ありかなしかを表示させるセルに『=IF(COUNTIF(範囲,検索条件),”真の場合に表示する値”,”偽の場合に表示する値”)』をコピーしてそのまま貼り付けてください。
何をやっているのか、詳しくは後述するから今はそのまんまただ貼り付けてね!エラー表示も放置だよ!
Dr.オフィス
- STEP
IF関数とCOUNTIF関数を整える
関数を整える コピペした『=IF(COUNTIF(範囲,検索条件),”真の場合に表示する値”,”偽の場合に表示する値”)』の中身を修正していきます。
- 『範囲』の文字を消して、『B3:F12』と入力する
- 『検索条件』の文字を消して、『H3』と入力する
- 『”真の場合に表示する値”』を『”あり”』に変更
- 『”偽の場合に表示する値”』を『”なし”』に変更
これで指定した成績表の中から、H3セルの値と一緒のものがあったのなら『あり』、ないのなら『なし』と回答が出る関数ができあがったよ!
Dr.オフィス
- STEP
ありかなしかを表示させるセルが問題なく機能しているかを確認する
セルのチェック 修正した関数が機能しているかを確認してください。
太田君や小林君などが成績で1を出しているので、成績が1の人がいるため『あり』という回答が出ています。
COUNTIF関数をもっと色々と試して活用したい方は≫エクセルのCOUNTIF関数で条件と一致するデータの数を求めよう!をご確認ください。
ちなみに、IF関数の部分を除去し『=COUNTIF(B3:F12,H3)』と修正すると成績1がどれだけあるのか、その個数が抽出されます。
この方法は調べたい文字列がいるかどうかの確認を表全体でしたいとき向けの存在チェックだよ!ただし、どこにあるのかまでは分からないから注意してね!
Dr.オフィス
MATCH関数で存在チェックをする方法
次はMATCH関数で存在チェックをする方法をまとめます。
参照するデータは先ほどと同じく5段階評価の成績表であり、成績1を出した人がいるかチェックするという内容です。
ただし、見た目でわかりやすくするために出席番号を追加して科目に番号をつけています。
MATCH関数の使い方を簡単解説!
MATCH関数の構成は『=MATCH(検索値,検索範囲,照合の種類)』となっているので、こちらをコピペしてから修正するという方法でもOKです。
- STEP
検索条件を記載するセルと、条件に適合したセルがにどこにあるのかを記載するセルを用意する
セルを用意する 今度は検索条件を記載するセルと、条件に適合したセルがどこにあるのかを記載するセルを用意してください。
今回は個人ごとと科目ごとで成績1の人がいるのか存在チェックできるように整えています。
- STEP
検索条件を記載するセルに『1』と入力する
1と入力 成績が最低の『1』の人がいるかどうかのチェックなので、検索条件を記載するセルには『1』と入力してください。
- STEP
H3にMATCH関数を入力する
MATCH関数を入力 セルH3にMATCH関数を入力してください。
関数は『=MATCH(J3,C3:G3,0)』となりますが、これはJ3にある成績1が安藤君の成績の中にあるのかを存在チェックするという内容になっています。
最後の『0』は検索方法の指定で、完全一致の場合は0と入力します。
検索方法を指定は0以外だと、1と-1があるね!1だと検査値以下の最大値という意味で、-1だと検査値以上の最小値という意味になるよ!
Dr.オフィス
- STEP
結果を確認
結果の確認 先ほどの構成でどうなったのか、結果を確認します。
安藤君の成績に1が1つも無いので場所の確認ができず、エラーが表示されます。
エラー表示で不安になってしまいますが、正常に関数は機能しているので安心してください。
- STEP
絶対参照を使ってコピーできる状態にする
- STEP
MATCH関数をH12までコピーする
MATCH関数をコピー 先ほど修正したMATCH関数を志村君の行までコピーします。
- MATCH関数があるH3セルをクリック
- セルの右下にでる十字マークをクリックしたままH12までマウスを移動しコピーする
- そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
- STEP
結果を確認する
関数の結果チェック 先ほどの関数コピーの結果を確認してください。
成績に1がある太田君や菊池君がどの科目で1だったのかもわかります。
ただし、複数1がある人だと列番号の先にヒットしたものしか位置が出てこないので注意してください。
検索条件に合致した結果が複数ある場合はMATCH関数ではあまり望んだ結果が得られにくいから注意してね!
Dr.オフィス
- STEP
C13にMATCH関数を入力する
MATCH関数を入植 今度は科目ごとに1を出した人がいるのかをチェックするため、C13にMATCH関数を入力しましょう。
こちらもコピーするので、絶対参照も加えて『=MATCH($J$3,C3:C12,0)』と入力してください。
- STEP
MATCH関数をG13までコピーする
MATCH関数をコピー MATCH関数を社会の列までコピーします。
- MATCH関数があるC13セルをクリック
- セルの右下にでる十字マークをクリックしたままG13までマウスを移動しコピーする
- そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
- STEP
結果を確認する
結果を確認 科目別で誰が1を出したのかを確認します。
国語は出席番号5番の菊池君、数学は6番の小林君、英語は3番の太田君、理科は9番の斉藤君が1評価で、社会は1がいませんでした。
ただし、こちらも複数1評価がある科目だと出席番号が先の人の位置しか出てこないので注意してください。
MATCH関数はINDEX関数と組み合わせてると抽出までできますが、存在チェックではINDEX関数が無くても問題ないのでMATCH関数単体での運用方法紹介となります。
MATCH関数とINDEX関数の組み合わせ運用を見たいという方は、≫エクセルのクロス抽出!INDEX関数とMATCH関数の組み合わせを参照してください。
N/Aエラーを表示させないようにしよう!
MATCH関数はこのように位置の特定までできますが、対象がいない場合は『♯N/A』というエラー表示が出てしまいます。
このままでは見栄えが悪いので、エラー表示は消していきます。
方法はシンプルで、MATCH関数にIFERROR関数を加えるだけです。
IFERROR関数とはエラーの値が出たときにどういった値を返すのかを指示する関数なので、エラー表示を好きな表示に変えられます。
- STEP
H3のMATCH関数にIFERROR関数を加える
IFERROR関数を追加 H3にあったMATCH関数『=MATCH($J$3,C3:G3,0)』にIFFERROR関数を加えて『=IFERROR(MATCH($J$3,C3:G3,0),“”)』と修正します。
赤い文字だけ追加すればOKです。
このIFERROR関数を加えたことで「MATCH関数でエラーが出たら空白にしてね!」って意味を持たせられたよ!
Dr.オフィス
- STEP
IFERROR関数付きのMATCH関数をコピーする
IFERROR関数付きMATCH関数をコピー 先ほど修正したIFERROR関数付きMATCH関数を志村君の行までコピーします。
- 関数があるH3セルをクリック
- セルの右下にでる十字マークをクリックしたままH12までマウスを移動しコピーする
- そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
- STEP
G13のMATCH関数にIFERROR関数を加える
IFERROR関数を追加 H3のMATCH関数の修正と同じように、C13のMATCH関数も修正しましょう。
『=MATCH($J$3,C3:C12,0)』から『=IFERROR(MATCH($J$3,C3:C12,0),””)』への修正です。
赤い文字だけ追加してください。
- STEP
関数をG13までコピーする
IFERROR関数付きMATCH関数をコピー MATCH関数を社会の列までコピーします。
- 関数があるC13セルをクリック
- セルの右下にでる十字マークをクリックしたままG13までマウスを移動しコピーする
- そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
- STEP
結果を確認
結果を確認 エラー表示がどうなったのかを確認していきます。
IFERROR関数を追加したことで、かなり見た目もスッキリしました。
このようなエラー表示を消す方法をより詳しく知りたい方は≫エクセルの【IF関数】を使い「#N/A」や「0」などを表示させず空白セルにする!を参照してください。
エクセルの存在チェックについてのQ&A
Q
VLOOKUP関数とMATCH関数はどちらを使うべきですか?
A
存在チェックを意識して使うのならMATCH関数の方が対応範囲が広いためおすすめです。
Q
特定の文字列が入っていたら〇を表示するには?
A
特定の文字が入っているときに○を表示させるにはIF関数とCOUNTIF関数の組み合わせて使うのがおすすめとなります。詳しくは≫COUNTIF関数で特定文字の有無を確認しよう!をご確認ください。
Q
一致しているか確認する方法は?
A
一致の確認ならCOUNTIF関数とMATCH関数、どちらでも可能です。ただし、MATCH関数では不一致の時にエラー表示が出るため、エラー表示をさせないためには一工夫が必要になってしまいます。方法は≫COUNTIF関数で特定文字の有無を確認しよう!と≫MATCH関数で存在チェックをする方法をチェックしてください。
エクセルの存在チェック方法を活用し大量データの中から有無を確認しよう!
今回は特定の文字列の存在チェック確認方法としてCOUNTIF関数とMATCH関数の2つを、メリットとデメリット付きでそれぞれ解説しました。
COUNTIF関数とMATCH関数をつかった存在チェックの大きな違いは、位置の特定をするかどうかなので、位置の特定がいらない時は個数確認も容易なCOUNTIF関数を使うことをおすすめします。
それでは最後にCOUNTIF関数を使って、存在チェックをする手順をおさらいしましょう。
- 検索条件を記載するセルと、ありかなしかを表示させるセルを用意する
- 検索条件を記載するセルに存在チェックをしたい特定の文字列を入力
- ありかなしかを表示させるセルにCOUNTIF関数を設定する
今回紹介した方法を使えば膨大なデータの中から特定の数値のみを簡単に見つけることが可能となるので、データ管理をエクセルで行っている方は活用して欲しいです。
また、特定文字列に含まれている文字を検索したいという方はFIND関数が役立つので≫【エクセル】FIND関数で右側から文字を検索する方法!数式の意味を詳しく解説!という記事もあるので、コチラも参照してください。