エクセル分析の幅が広がります
今回はエクセルでできる部分一致をご紹介します
いわゆる「あいまい検索」と言われたりするものですね
この部分一致を使って「〇〇を含む文字」をカウントしてみます
※ワイルドカードといいう言い方もします
これができると下のような集計ができるようになりますね!
チケット購入というデータの中には(,)カンマで区切られた
男性 / 女性 / 子供 が入っています
それぞれの人数を集計したいのですが
指定の文字を数えるCOUNTIF関数は使えません…
通常のCOUNTIF関数は「男性」「女性」「子供」のなどの完全一致の指定はできますが、混じってしまうと機能しません
これをCOUNTIF関数の「部分一致」という機能をつかって
集計してみましょう!
目次
前提:COUNTIF関数の使い方
※すでにご存知の方はスキップしてください
指定する項目は2つだけ
■ 範囲:まずはカウントする範囲を選択します
※通常のCOUNT関数ではこの項目だけで、カウントされます
■ 検索条件:範囲の中から抽出したいワードを指定しましょう
COUNTIF関数の詳細な説明はこちらから
【エクセル】COUNTIF関数|条件を付けてカウントする方法それでは本題の部分一致行きましょう!
そもそも部分一致とは
部分一致とは「あいまい検索」と覚えてもらえれば大丈夫です
例えば…
- 「東京都」
- 「東京」
- 「東京都墨田区」
人間は上記3つすべて「東京」だと簡単に理解できます
しかしエクセルは機械なのでどうしても別の言葉だと判断します
そのため「東京を含んだ」という指定の方法が必要です
文字自体が異なってしまうと指定できません
※「東京」と「Tokyo」などの判別はエクセルではできません
部分一致を使う理由とは
「〇〇を含む文字」をカウントする手法を使う理由はなんでしょう?
それは複雑なデータ構造に対応するためです
きれいにデータが入っていれば「東京」「東京都」「東京都墨田区」が同じカラムに入ることはありません
※プルダウンを設定すれば、入れる内容を制限できます!
【エクセル】選択肢の作り方~プルダウンを設定する方法~しかし実際はそうならない
アンケートの回答や初心者がExcelを使う場合
またやむを得ず一つのセルにデータが複数入ってしまうことがあります
今回の課題のように一つのセルに「男性 / 女性 / 子供」が混じってしまうことも多々あります
何度も申し上げますが
「データは毎回きれいに入っているとは限りません」
その上できちんと処理できるようにしましょう
部分一致の設定方法
実はCOUNTIF関数の中を少し変えてあげるだけで大丈夫です
緑の部分を追加するだけで「あいまい検索」に対応できます
訳が分からない記号が3つほど出てきていますので、解説します
(*)半角アスタリスク:ワイルドカードの役割でどんな文字にもなります(複数)
(&)アンド:これはエクセルで文字同士をつなげる役割を果たします
(””)ダブルクォーテーション:「文字列」ですよと伝える合図です
つまり検索条件の前後に(文字列としての)ワイルドカードを&でつなげているんですね!
検索条件の指定方法は2つあります!
① 文字の前後にワイルドカードを付ける
検索条件を「男性を含む」としたい場合は
「”男性”」の前後に「”*”」を「&」で付けてあげましょう
ただしこの方法にはデメリットがあって、
検索条件を手動で変える必要がある点です
可能であれば②を使ってみてください
② セルの前後にワイルドカードを付ける
先ほどは「男性」と文字を入力しましたが
今回はセル(女性)を指定します
こうすることでセルを下にコピーしても
セルごと移動してくれるため下のセルの「子供」が指定されます
こちらの方が効率化できるため、②がおすすめです
まとめ
今回は部分一致による文字のカウントをご紹介してきました
方法はCOUNTIF関数+(*)でしたね
この方法を使うことでしっかりと件数を数えることができました!
最後までご覧いただきありがとうございました