9/21/2016

Excel。COUNT。COUNTA関数が空白も数える?この時はCOUNTIF関数が登場します。


Excel。COUNTA関数が空白も数える?この時はCOUNTIF関数が登場します。

<COUNT関数&COUNTA関数&COUNTIF関数>


オートSUMボタンにある、COUNT関数。
この関数は、数値を数えることが出来る関数なのですが、
では、文字を数える場合には、どうしたらいいでしょうか?
なんてことを、初心者さん向けの講座の時に、よくお話したりします。

では、次の表でまずは、確認してみましょう。

G3に、A3:A7を範囲選択して、COUNT関数で算出してみましょう。

同じように、G4に、A3:A7を範囲選択して、今度はCOUNTA関数で算出してみましょう。

G3の数式は、=COUNT(A3:A7)
G4の数式は、=COUNTA(A3:A7)

このように、COUNT関数は文字を数えることができません。

次に、B3:B7の範囲を使って、
それぞれ、COUNT関数とCOUNTA関数で算出してみましょう。

H3の数式は、=COUNT(B3:B7)
H4の数式は、=COUNTA(B3:B7)
今回の範囲は、数値なので、COUNT関数でも算出できました。

このような違いがあるわけですが、ここからが、
今回のポイントになるのですが、D列に、筆記と実技のどちらか、一つが70点以上なら○。
そうでなければ、×という判断の数式を作成してみましょう。

なお、念のために、D3:D7を使って、
COUNT関数とCOUNTA関数でどのように算出されるのか確認しておきましょう。

I3の数式は、=COUNT(D3:D7)
I4の数式は、=COUNTA(D3:D7)
という数式が設定されています。当然のことながら、空白なので、0(ゼロ)ですよね。

COUNTA関数は、文字を数えるというよりも、
空白以外のセルを数えると、よくテキストに書かれています。

実は、この書き方では、問題があるのです。それを確認していきましょう。

では、D3に先ほどの条件で数式を作成してきましょう。
D3にIF関数ダイアログボックスを表示しましょう。

今回は、どちらか、一方がOKなら、○ということなので、IF+OR関数で作成してきます。

このような場合、ダイアログボックスで作成する場合は、
先に、真の場合と、偽の場合を埋めてしまってから、論理式を作る方がいいでしょう。

これは、OR関数を作成後にIF関数に戻ってくる手間暇を避けるためですね。

なので、
真の場合には、”○”
偽の場合には、””
を入力して、論理式にOR関数を作っていきましょう。

論理式1には、B3>=70
論理式2には、C3>=70
あとは、OKボタンをクリックしましょう。

D3の数式は、

=IF(OR(B3>=70,C3>=70),"○","")

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

D列に○が表示されてきましたね。
が、しかし、この表をよく見てみましょう。先程作成したI列。

I3は、COUNT関数なので、0(ゼロ)なのは、OKなのですが、I4。
COUNTA関数が設定されているので、文字を数えるはずなのに、
5という数値が算出されていますよね。○の数は、3なのに、5。

COUNTA関数は、空白を除く文字を数えるのではなくて、
計算式の結果で算出された空白を含めた、文字を数えるのです。

要するに、数式も文字も何も入力されていない【空白】を除くセルを数える関数なのです。

なので、このような場合には、COUNTIF関数を使わなければいけないわけです。

I5にCOUNTIF関数ダイアログボックスを表示しましょう。

範囲には、D3:D7
検索条件には、”○”
と入力しましょう。あとはOKボタンをクリックしましょう。

I5の結果は、3になりましたね。

このように、状況によっては、COUNTA関数ではダメなことがありますので、
COUNTIF関数を使う方がいい場合がありますので、ご注意のほど。