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関数を使う方がいい場合がありますので、ご注意のほど。