( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【エクセル】部分一致(ワイルドカード)で文字をカウントする方法

joker

編集長
編集長

エクセル分析の幅が広がります

今回はエクセルでできる部分一致をご紹介します

いわゆる「あいまい検索」と言われたりするものですね

この部分一致を使って「〇〇を含む文字」をカウントしてみます

※ワイルドカードといいう言い方もします

これができると下のような集計ができるようになりますね!

今回の課題
部分一致のテストデータ

チケット購入というデータの中には(,)カンマで区切られた

男性 / 女性 / 子供 が入っています

それぞれの人数を集計したいのですが

指定の文字を数えるCOUNTIF関数は使えません…

通常のCOUNTIF関数は「男性」「女性」「子供」のなどの完全一致の指定はできますが、混じってしまうと機能しません

これをCOUNTIF関数の「部分一致」という機能をつかって

集計してみましょう!

前提:COUNTIF関数の使い方

※すでにご存知の方はスキップしてください

countif image

指定する項目は2つだけ

範囲:まずはカウントする範囲を選択します

※通常のCOUNT関数ではこの項目だけで、カウントされます

■ 検索条件:範囲の中から抽出したいワードを指定しましょう

注意
下にコピーするので絶対参照($)を付けています

COUNTIF関数の詳細な説明はこちらから

【エクセル】COUNTIF関数|条件を付けてカウントする方法

それでは本題の部分一致行きましょう!

そもそも部分一致とは

部分一致とは「あいまい検索」と覚えてもらえれば大丈夫です

例えば…

  • 「東京都」
  • 「東京」
  • 「東京都墨田区」

人間は上記3つすべて「東京」だと簡単に理解できます

しかしエクセルは機械なのでどうしても別の言葉だと判断します

そのため「東京を含んだ」という指定の方法が必要です

注意
広告業界で使われている部分一致とは少し意味が異なります

文字自体が異なってしまうと指定できません

※「東京」と「Tokyo」などの判別はエクセルではできません

部分一致を使う理由とは

「〇〇を含む文字」をカウントする手法を使う理由はなんでしょう?

それは複雑なデータ構造に対応するためです

きれいにデータが入っていれば「東京」「東京都」「東京都墨田区」が同じカラムに入ることはありません

※プルダウンを設定すれば、入れる内容を制限できます!

プルダウンのイメージ 【エクセル】選択肢の作り方~プルダウンを設定する方法~

しかし実際はそうならない

アンケートの回答や初心者がExcelを使う場合

またやむを得ず一つのセルにデータが複数入ってしまうことがあります

今回の課題のように一つのセルに「男性 / 女性 / 子供」が混じってしまうことも多々あります

部分一致のテストデータ

何度も申し上げますが

「データは毎回きれいに入っているとは限りません」

その上できちんと処理できるようにしましょう

部分一致の設定方法

実はCOUNTIF関数の中を少し変えてあげるだけで大丈夫です

=COUNTIF(範囲,"*"&検索条件&"*")

緑の部分を追加するだけで「あいまい検索」に対応できます

訳が分からない記号が3つほど出てきていますので、解説します

(*)半角アスタリスク:ワイルドカードの役割でどんな文字にもなります(複数)

(&)アンド:これはエクセルで文字同士をつなげる役割を果たします

(””)ダブルクォーテーション:「文字列」ですよと伝える合図です

つまり検索条件の前後に(文字列としての)ワイルドカードを&でつなげているんですね!

検索条件の指定方法は2つあります!

① 文字の前後にワイルドカードを付ける

COUNTIF式

検索条件を「男性を含む」としたい場合は

「”男性”」の前後に「”*”」を「&」で付けてあげましょう

ただしこの方法にはデメリットがあって、

検索条件を手動で変える必要がある点です

可能であれば②を使ってみてください

② セルの前後にワイルドカードを付ける

COUNTIF式

先ほどは「男性」と文字を入力しましたが

今回はセル(女性)を指定します

こうすることでセルを下にコピーしても

セルごと移動してくれるため下のセルの「子供」が指定されます

こちらの方が効率化できるため、②がおすすめです

まとめ

今回は部分一致による文字のカウントをご紹介してきました

方法はCOUNTIF関数+(*)でしたね

この方法を使うことでしっかりと件数を数えることができました!

部分一致のテスト結果

最後までご覧いただきありがとうございました

コメントを残す

メールアドレスが公開されることはありません。