Excel。最初の一文字目と同じものが何件あるのか数える方法
<COUNTIF関数とワイルドカード>
先日、ご質問をいただいたのですが、商品コードの最初の一文字目が区分けになっていて、
その一文字目を検索して、
その分類の商品がいくつあるのかを数える方法はないのかなぁ~というご質問。
なるほど、最初の一文字目が分類になっているのですね。
これまた、現場ならではの質問といったところでしょうかね。
さらに、お話を聞いてみると、ワイルドカードを使うかと考えたんだけど、
うまくいかなかったそうです。
けど、ワイルドカードは使うはずなんですけどね?
ということで、算出方法をご紹介していくことにしましょう。
下記にこのような表があります。
B列に商品コードがあって、その一文字目が商品区分になっているわけですね。
そして、D列に商品区分の一文字目のアルファベットがあって、
E列にその件数を求めたいというわけですね。
では、E列を求めるには、どのようにしたらいいのでしょうか?
条件付きで件数を算出したいわけですから、COUNTIF関数を使うわけですね。
そして、問題になるのは、最初の一文字ということですね。
では、単純に、D列だけを使ったとしたら算出することできるのでしょうか?
E2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。
範囲は、$B$2:$B$14
検索条件は、D2
OKボタンをクリックすると、
あれれ、0件ですね。
そうなんです。この検索条件は、完全一致でないといけないわけです。
ということで、登場するのが、
ワイルドカードの*(アスタリスク)。
これを使えば、検索条件は、バッチリのはず。
では、改めて、D2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。
範囲は、$B$2:$B$14
検索条件は、D2*
そして、OKボタンをクリックしてみましょう。
あれれ、これもダメなんですね。
しかしなぜ、ワイルドカードを使っているのに算出してくれないのでしょうか?
それは数式バーを見てみると、わかるかと、思います。
今E2の数式はこのようになっていますね。
=COUNTIF($B$2:$B$14,"D2&*")
検索条件が、"D2&*"となってしまっています。つまり、D2&*という文字を検索しているわけです。
ここで、Excelの特徴なのですが、*(アスタリスク)なのですが、
そのまま入力してはダメなんですね。
”(ダブルコーテーション)で囲んであげないといけないのです。
実は、ここがポイントだったんですね。
たぶん、ご質問をしていただいた方も、この*(アスタリスク)のままだったので、
うまく算出してくれなかったのでしょうね。
では、再度改めてやってみましょう。
E2をクリックして、COUNTIF関数ダイアログボックスを表示しましょう。
範囲は、$B$2:$B$14
検索条件は、D2&”*”
そして、OKボタンをクリックしてみましょう。
すると、今度はちゃんと算出してくれましたね。
あとは、オートフィルを使って数式をコピーしましょう。
これで、完成しましたね。ワイルドカードを使うときには、