4/28/2016

Excel。COUNTIF。最初の一文字目と同じものが何件あるのか数える方法


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ボタンをクリックしてみましょう。
すると、今度はちゃんと算出してくれましたね。

あとは、オートフィルを使って数式をコピーしましょう。

これで、完成しましたね。ワイルドカードを使うときには、

”(ダブルコーテーション)を忘れずに。