Excelを使うお仕事をしていると、データの中から数をカウントしたい場面に遭遇することがあります。その際に、目視や指差し確認では無意識に空白を除いて数えると思います。
しかし、膨大なデータ量を扱うケースでは、そのような手作業は現実的ではありませんよね。そこで、今回の記事ではCOUNTIF関数で空白以外をカウントする方法をお伝えしていきます。あわせてエラーが出たときの対処法や、仲間のCOUNTIFS関数についてもご紹介していくので、ぜひ参考にしてくださいね。
目次
COUNTIF関数とは?
定番のCOUNTIF関数は、指定した単語に一致するデータの数を数える関数です。
ほかにも特定の数値や日付を基準とした比較条件や、部分一致を条件として数えることができる万能な関数なので、Excelでは頻繁に活用されています。
まずはCOUNTIF関数をおさらいしましょう。
COUNTIF関数の構文は次の通りです。
COUNTIF(範囲, 検索条件)
指定する引数は[範囲]と[検索条件]の2つのみで、条件の指定方法もシンプルです。
範囲
範囲は必須入力項目です。
検索の対象とするセルやセルの範囲を指定します。数値や配列、名前付き範囲、参照が指定できます。
検索条件
同じく検索条件も必須入力項目で「範囲」の中からセルを検索するための条件を、数値、式、セル範囲、または文字列で指定します。
文字列を指定する場合は、「”(ダブルクォーテーション)」で囲みます。
なお、COUNTIF関数で指定できるのは、単一の検索条件のみです。 複数の検索条件を指定する場合は、COUNTIFS関数を使用します。
出典:Excel 作業の効率が上がる! 条件に合うセルを数える COUNTIF 関数を徹底解説
COUNTIF関数で使える比較演算子
検索条件で式を指定する際に比較演算子を使用することができます。
比較演算子 | 意味 | 例 |
= (等号) | 等しい | = A1 = B1 |
> (大なり記号) | より大きい | = A1>B1 |
< (小なり記号) | より小さい | = A1<B1 |
>= (より大か等しい記号) | 以上 | = A1>= B1 |
<= (より小か等しい記号) | 以下 | = A1<= B1 |
<> (不等号) | 等しくない | = A1<>B1 |
比較演算子を表にするとこのようになります。
演算子は数式の要素に対して実行する計算の種類を指定します。 Excel では、計算の一般的な数学規則に従います。 かっこを使用すると、その計算順序を変更することができます。
参考:Microsoft|Excel の数式に計算演算子を使用する
上の表では「使用例」ではわかりやすくするために、「A」「B」で表していますが、実際にエクセルで使用する場合は「A1」「B2」のようにセル番地となります。文書では「≧」や「≦」を使いますが、エクセルで使用する場合は「>=」「<=」のようになるので注意が必要です。そのため、イコールは後ろに付けることを覚えておけば問題ありません。
COUNTIF関数を使って空白以外のセルをカウントしたい
それではCOUNTIF関数で空白以外のセルを数える方法を見てみます。
関数は次のように書きましょう。
COUNTIF(範囲,”<>”) |
この「範囲」に「空白以外をカウントしたい範囲」を指定します。
「<>」は必ず「半角」で入力してください。エラーの例でもふれますが、全角で入れると正しくカウントされません。
実際に比較演算子を使って、COUNTIF関数で空白以外のセルを数える方法をみていきましょう。
=COUNTIF( でCOUNTIF関数を入力します。C3からC8をドラッグして、カウントする範囲を指定します。指定し終わったら(,)で区切ってください。
そして、検索条件を、”<>”と入力して、空白以外のセルを抽出します。
Enterを押して、確定してください。空白以外のセルの数「4」が返されました。
COUNTIF関数以外で空白以外をカウントする方法
実は空白以外のセルはCOUNTA関数を利用しても数えられます。
こちらの方が指定方法がシンプルなので、簡単におさらいしていきましょう。
COUNTA関数とは
COUNTA関数の構文は次のように入力します。
COUNTA(範囲) |
COUNTA関数は、範囲の中の「空白でないセルの個数」を求めることができる関数です。数字はもちろんのこと、文字や記号などが入力されているセルの数を数えられます。
なお、関数を入力をするときは、[関数の挿入]ボタンをクリックして[関数の分類]で[統計]を選択すると、COUNTA関数が簡単に入力できるのでアルファベットをいちいち覚えていなくてもミスなく対応できます。
また、Excel2007と2010では関数ライブラリの[その他の関数]-[統計]からも選択できますよ。
COUNTA関数の使い方
COUNTA関数では、エラー値や空の文字列 (“”) を含め、すべての種類のデータを含むセルが計算の対象となります。 たとえば、セル範囲に空の文字列を返す数式が含まれている場合、COUNTA関数はその値を計算の対象とします。 COUNTA関数は空白セルを計算の対象にしません。
また、論理値、文字列、またはエラー値の個数を調べる必要がない場合 (つまり、数値を含むセルだけを計算の対象とする場合) は、COUNT関数を使用します。
特定の条件を満たすセルだけを計算の対象とする場合は、冒頭でふれたCOUNTIF関数を使います。
COUNTIFS関数を使用できるので、こちらについては後述致します。
COUNTA関数を活用する際には次のように入力します。
COUNTA(C3:C8) |
COUNTIF関数と同じ「4」が出力されました。
COUNTIF関数でエラーが起きたときの対処法
ここからは、COUNTIF関数で「#VALUE!エラー」になってしまう原因と対処方法を解説します。
「#VALUE!エラー」は入力した数式か参照先のセルに問題があるときに起こります。
たとえば、上の図だと指定範囲が「=COUNTIF(‘C:\Users\✕✕✕\Desktop\[aaabbbcccddd.xls]eeefffggg’!$M$8,”<>”)」と、他のExcelファイルのセルを参照しています。
数式は特に問題ないように見えますが、結果は「#VALUE!エラー」になっています。
このエラーの原因は「参照先」にあります。
COUNTIF関数は参照先のファイルが閉じられていると、その中身を見ることができません。結果、値が取得できなくて「#VALUE!エラー」になってしまいます。
ですから、参照先のファイルを開けばその時点でエラーが解消されます。
シート参照の際には範囲指定だけでなく、参照先のファイルが開いているかを必ず確認するようにしましょう。
とはいえ、その都度参照先のファイルも開くのはやや面倒ですよね。
様々な参照先が存在する場合、それだけExcelを開いているとパソコン自体のデータも重くなってしまい非効率です。
そこで、他のファイルにある表やシートから条件に合うセルの数をカウントしてもエラーにならない方法を2つご紹介します。
1.SUMPRODUCT関数
SUMPRODUCT関数とは、指定する範囲または配列の製品の合計を求める関数です。
既定の操作は掛け算ですが、足し算・引き算・割り算も可能です。
構文は次のように入力します。
SUMPRODUCT(配列,[配列2],[配列3],…) |
配列1は必須で、計算の対象となる要素を含む最初の配列を指定します。
[配列2], [配列3],…は省略可能ですが、必要に応じて計算の対象となる要素を含む配列を指定します。最大で255個まで指定可能です。それでは、実際にSUMPRODUCT関数を使った式をみていきましょう。
=COUNTIF([ブックのパス]$B$3:$B$7,”〇”)=SUMPRODUCT(([ブックのパス]$B$3:$B$7=”〇”)*1) |
SUMPRODUCT関数はカッコの多さと「*1」によって一見複雑にみえますが、システマティックに覚えてしまえば意外と簡単です。
2.COUNTBLANK関数
COUNTBLANK関数を使って、空白のセルの数を数えることもできます。
データの中から空白のセルを探す関数なので、「スペース」キーなどでスペースが入っていたり、IF関数などで非表示の値が入っているときなどもカウントされません。構文は次のように入力します。
COUNTBLANK(範囲) |
引数の範囲には、空白セルを数えたいセル範囲を必ず指定します。
また、他の関数同様に指揮を入力するときは、[関数の挿入]ボタンをクリックして、[関数の分類]で[統計]を選択すると、COUNTBLANK関数が入力できます。
Excel2007と2010をお使いの方は、関数ライブラリの[統計]からも選択できますよ。
あわせて読みたい|COUNTIFS関数の使い方
ここまでご説明したCOUNTIF関数では、ひとつの条件でしかデータを数えることができません。たとえば以下のようなケースの際には、COUNTIF関数は使えません。
- 〇と✕と入力されたセルの数だけを数えたい
- 売上が1千万以上5千万未満の顧客数を数えたい
- タスク管理表の中で中で「済」が含まれる文字列の数を数えたい
そこで役に立つのがCOUNTIFS関数です。
COUNTIFS関数は複数の条件を指定し、その条件と合致しているセルの数を数えられます。構文は次の通りです。
COUNTIFS (条件範囲 1, 検索条件 1, [条件範囲 2, 検索条件 2],…) |
条件範囲1
対応する条件による評価の対象となる最初の範囲を必ず指定します。
条件1
計算の対象となるセルを定義する条件を数値、式、セル参照、または文字列で必ず指定します。 たとえば、条件は 35、”>35″、B4、”Windows”、または “35” のような形です。
条件範囲2, 条件2,…
追加の範囲と対応する条件です。 省略可能ですが、最大127組の範囲・条件のペアを指定できます。
補足各追加範囲は、”範囲 1″ 引数と同じ数の行および列が設定されている必要があります。 範囲はお互いに隣接している必要はありません。 |
使い方のポイント
- それぞれの範囲の条件は、一度に 1 つのセルに適用されます。 関連する抽出条件を満たすすべての最初のセルの数が 1 ずつ増加します。 関連する抽出条件を満たすすべての 2 つ目のセルが 1 ずつ増加すると、もう一度すべてのセルが評価されるまで続けられます。
- 条件の引数が空のセルへの参照であった場合、空のセルは 0 と見なされます。
- 条件には、半角の疑問符 (?) または半角のアスタリスク (*) をワイルドカード文字として使用することができます。 ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは 1 文字以上の任意の文字列を表します。 ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に半角のチルダ (~) を付けます。
例として、10人の学生の成績表で平均点(74点)以上の人数が何人いるかを算出してみましょう。
COUNTIF関数の範囲指定の方法は単純です。
関数の引数のダイアログボックスから「範囲」を選択し、始点と終点の番地の間に「:(コロン)」を挟んで入力します。
また、始点のセルをカーソルで選択してドラッグで最後尾まで範囲選択すると、自動的にボックスに反映されます。
また、ワイルドカードを用いることで検索条件を算出することもできます。
検索条件には文字列と数字の2種類を入れられます。
文字列を検索条件に指定する場合、検索条件のダイアログボックスに指定したい文字列を入力します。
下図のようにたとえば「男性」と入力すれば「男性」と書かれたセルの数が表示されます。
検索条件を「男性」に変更したので、範囲を「性別」の列に変更しています。
このように、検索条件によっては範囲の指定を調整しなければならないことがあります。
まとめ
今回の記事では、COUNTIF関数を使ってExcelで空白セル以外をカウントする方法をお伝えしてきました。
Excelで空白を数えてしまうと、正しいデータを抽出したり数えたりすることができません。業務効率を向上させるためにも、本記事を参考に、ぜひCOUNTIF関数をマスターしてくださいね。