楽天リーベイツで楽天ポイント還元最大20%!今なら登録して初回購入で500ポイントもGET!

【エクセル】存在チェックの方法は?扱う関数や使い方も詳しく解説!

8 min 12 views
エクセル初心者

エクセル初心者

エクセルで存在チェックはできるのかな?膨大なデータになったエクセルから探したい言葉を簡単な方法で確認する方法を知りたい!

簡単な方法があるよ!いくつかパターンはあるけど、今回はCOUNTIF関数とMATCH関数を使った方法でわかりやすく解説するね!

Dr.オフィス

Dr.オフィス

今回は膨大なデータから特定の文字列を見つけ出す存在チェックの方法をCOUNTIF関数とMATCH関数を使って紹介します。

COUNTIF関数とMATCH関数のメリットとデメリットも解説するので、状況に合わせた存在チェックの方法を理解することができます。

エクセルでCOUNTIF関数を使って存在チェックをする簡単ステップ
  1. 検索条件を記載するセルと、ありかなしかを表示させるセルを用意する
  2. 検索条件を記載するセルに存在チェックをしたい特定の文字列を入力
  3. ありかなしかを表示させるセルにCOUNTIF関数を設定する

マイクロソフトオフィススペシャリストの資格を持つ私が、エクセルの存在チェックについてわかりやすく解説していくよ!

Dr.オフィス

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を取った生徒がいるかどうかの確認となります。

  1. STEP

    検索条件を記載するセルと、ありかなしかを表示させるセルを用意する

    検索条件を記載するセルと、ありかなしかを表示させるセルを用意してください。

    画像では検索条件を記載するセルは『H3』、ありかなしかを表示させるセルは『I3』となります。

  2. STEP

    検索条件を記載するセルに『1』と入力する

    成績が最低の『1』の人がいるかどうかのチェックなので、検索条件を記載するセルには『1』と入力してください。

  3. STEP

    ありかなしかを表示させるセルにIF関数とCOUNTIF関数の組み合わせをコピーして貼り付ける

    ありかなしかを表示させるセルに『=IF(COUNTIF(範囲,検索条件),”真の場合に表示する値”,”偽の場合に表示する値”)』をコピーしてそのまま貼り付けてください。

    何をやっているのか、詳しくは後述するから今はそのまんまただ貼り付けてね!エラー表示も放置だよ!

    Dr.オフィス

    Dr.オフィス

  4. STEP

    IF関数とCOUNTIF関数を整える

    コピペした『=IF(COUNTIF(範囲,検索条件),”真の場合に表示する値”,”偽の場合に表示する値”)』の中身を修正していきます。

    1. 『範囲』の文字を消して、『B3:F12』と入力する
    2. 『検索条件』の文字を消して、『H3』と入力する
    3. 『”真の場合に表示する値”』を『”あり”』に変更
    4. 『”偽の場合に表示する値”』を『”なし”』に変更

    これで指定した成績表の中から、H3セルの値と一緒のものがあったのなら『あり』、ないのなら『なし』と回答が出る関数ができあがったよ!

    Dr.オフィス

    Dr.オフィス

  5. STEP

    ありかなしかを表示させるセルが問題なく機能しているかを確認する

    修正した関数が機能しているかを確認してください。

    太田君や小林君などが成績で1を出しているので、成績が1の人がいるため『あり』という回答が出ています。

COUNTIF関数をもっと色々と試して活用したい方は≫エクセルのCOUNTIF関数で条件と一致するデータの数を求めよう!をご確認ください。

ちなみに、IF関数の部分を除去し『=COUNTIF(B3:F12,H3)』と修正すると成績1がどれだけあるのか、その個数が抽出されます。

この方法は調べたい文字列がいるかどうかの確認を表全体でしたいとき向けの存在チェックだよ!ただし、どこにあるのかまでは分からないから注意してね!

Dr.オフィス

Dr.オフィス

MATCH関数で存在チェックをする方法

次はMATCH関数で存在チェックをする方法をまとめます。

参照するデータは先ほどと同じく5段階評価の成績表であり、成績1を出した人がいるかチェックするという内容です。

ただし、見た目でわかりやすくするために出席番号を追加して科目に番号をつけています。

MATCH関数の使い方を簡単解説!

MATCH関数の構成は『=MATCH(検索値,検索範囲,照合の種類)』となっているので、こちらをコピペしてから修正するという方法でもOKです。

  1. STEP

    検索条件を記載するセルと、条件に適合したセルがにどこにあるのかを記載するセルを用意する

    今度は検索条件を記載するセルと、条件に適合したセルがどこにあるのかを記載するセルを用意してください。

    今回は個人ごとと科目ごとで成績1の人がいるのか存在チェックできるように整えています。

  2. STEP

    検索条件を記載するセルに『1』と入力する

    成績が最低の『1』の人がいるかどうかのチェックなので、検索条件を記載するセルには『1』と入力してください。

  3. STEP

    H3にMATCH関数を入力する

    セルH3にMATCH関数を入力してください。

    関数は『=MATCH(J3,C3:G3,0)』となりますが、これはJ3にある成績1が安藤君の成績の中にあるのかを存在チェックするという内容になっています。

    最後の『0』は検索方法の指定で、完全一致の場合は0と入力します。

    検索方法を指定は0以外だと、1と-1があるね!1だと検査値以下の最大値という意味で、-1だと検査値以上の最小値という意味になるよ!

    Dr.オフィス

    Dr.オフィス

  4. STEP

    結果を確認

    先ほどの構成でどうなったのか、結果を確認します。

    安藤君の成績に1が1つも無いので場所の確認ができず、エラーが表示されます。

    エラー表示で不安になってしまいますが、正常に関数は機能しているので安心してください。

  5. STEP

    絶対参照を使ってコピーできる状態にする

    先ほどの関数の『J3』の部分をコピーしたときにずれないようにするため、『$J$3』にしてください。

    関数部分のJ3を選択した状態でF4キーを押すと簡単に絶対参照できるのでおすすめです。

    絶対参照は数式や関数を作成する際に、参照するセルを固定して参照する方法だよ!

    Dr.オフィス

    Dr.オフィス

  6. STEP

    MATCH関数をH12までコピーする

    先ほど修正したMATCH関数を志村君の行までコピーします。

    1. MATCH関数があるH3セルをクリック
    2. セルの右下にでる十字マークをクリックしたままH12までマウスを移動しコピーする
    3. そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
  7. STEP

    結果を確認する

    先ほどの関数コピーの結果を確認してください。

    成績に1がある太田君や菊池君がどの科目で1だったのかもわかります。

    ただし、複数1がある人だと列番号の先にヒットしたものしか位置が出てこないので注意してください。

    検索条件に合致した結果が複数ある場合はMATCH関数ではあまり望んだ結果が得られにくいから注意してね!

    Dr.オフィス

    Dr.オフィス

  8. STEP

    C13にMATCH関数を入力する

    今度は科目ごとに1を出した人がいるのかをチェックするため、C13にMATCH関数を入力しましょう。

    こちらもコピーするので、絶対参照も加えて『=MATCH($J$3,C3:C12,0)』と入力してください。

  9. STEP

    MATCH関数をG13までコピーする

    MATCH関数を社会の列までコピーします。

    1. MATCH関数があるC13セルをクリック
    2. セルの右下にでる十字マークをクリックしたままG13までマウスを移動しコピーする
    3. そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
  10. 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関数とはエラーの値が出たときにどういった値を返すのかを指示する関数なので、エラー表示を好きな表示に変えられます。

  1. STEP

    H3のMATCH関数にIFERROR関数を加える

    H3にあったMATCH関数『=MATCH($J$3,C3:G3,0)』にIFFERROR関数を加えて『=IFERROR(MATCH($J$3,C3:G3,0),“”)』と修正します。

    赤い文字だけ追加すればOKです。

    このIFERROR関数を加えたことで「MATCH関数でエラーが出たら空白にしてね!」って意味を持たせられたよ!

    Dr.オフィス

    Dr.オフィス

  2. STEP

    IFERROR関数付きのMATCH関数をコピーする

    先ほど修正したIFERROR関数付きMATCH関数を志村君の行までコピーします。

    1. 関数があるH3セルをクリック
    2. セルの右下にでる十字マークをクリックしたままH12までマウスを移動しコピーする
    3. そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
  3. STEP

    G13のMATCH関数にIFERROR関数を加える

    H3のMATCH関数の修正と同じように、C13のMATCH関数も修正しましょう。

    『=MATCH($J$3,C3:C12,0)』から『=IFERROR(MATCH($J$3,C3:C12,0),””)』への修正です。

    赤い文字だけ追加してください。

  4. STEP

    関数をG13までコピーする

    MATCH関数を社会の列までコピーします。

    1. 関数があるC13セルをクリック
    2. セルの右下にでる十字マークをクリックしたままG13までマウスを移動しコピーする
    3. そのままだと書式が崩れるので、コピー後に表示されるオートフィルオプションをクリックして『書式なしコピー』を選択する
  5. 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関数で右側から文字を検索する方法!数式の意味を詳しく解説!という記事もあるので、コチラも参照してください。

関連記事