今回、紹介する「関数COUNT」は、数値の個数を数えるだけのとてもシンプルな関数だ。しかし、シンプルであるが故に応用範囲は幅広い。ある意味、使い方のセンスを問われる関数といえるだろう。また、条件付きで数値の個数を数える「関数COUNTIF」の使い方も紹介しておく。他のxxxIF系の関数に通ずる部分もあるので使い方をよく学んでおこう。

「数値の個数」を数えるだけ?関数COUNTの使い方

今回は「関数COUNT」と「関数COUNTIF」の使い方を紹介していこう。どちらも「数値データの個数」を数えるだけのシンプルな関数だ。

  • 関数COUNTとCOUNTIFの効果的な使い方

関数COUNTは、Excel関数の中でも極めて基礎的な関数のひとつといえる。「オートSUM」の選択肢に「合計」や「平均」と並んで「数値の個数」(COUNT)が用意されていることからも、その重要性を理解できるだろう。

  • 「オートSUM」に用意されている関数

にもかかわらず、「関数COUNTを使ったことがない・・・」という人は意外と多いようだ。単純に「数値の個数」を数えるだけの関数なので、「使わなくても作業を進められる」というのが理由のひとつかもしれない。しかし、これは勿体ない話である。

まずは、関数COUNTの基本的な使い方から紹介していこう。関数COUNTは引数に指定したセル範囲の中に「数値データが何個あるか?」を調べてくれる関数だ。たとえば、以下の図のように関数を記述すると、C4~C23のセル範囲の中に「数値データが何個あるか?」を調べてくれる。

  • 「数値の個数」を求める関数COUNTの入力

今回の例では、関数COUNTの結果として20という数値が表示された。とはいえ、これは当たり前すぎる結果といえるだろう。No.1~20の受験者がいて、各々のテスト結果が「数値データ」として入力されているのだから「数値の個数」も20(個)になるのは当然だ。

  • 関数COUNTの表示結果

このように一目見ただけでわかる値を、わざわざ関数を使って調べる方は少ないかもしれない。それでも関数COUNTの使い方を覚えておくことをお勧めする。

ほんの少しだけ応用した例を紹介しておこう。たとえば、何らかの理由でテストを欠席した人が2人いたとしよう。この場合、その人のテスト結果は「空白」や「欠席」などの文字になるのが一般的だ。これらのセルは「数値データ」ではないため、関数COUNTの対象外になる。よって、関数COUNTの結果もマイナス2されて18(個)になる。

  • 一部の数値データを「文字」や「空白」にした場合

このように関数COUNTを使って「数値データの個数」を調べると、「有効なデータの個数」を即座に把握することが可能になる。

上図のように20行程度のデータであれば、関数を使わなくても「受験者数は18人」と一目で判断できるかもしれない。しかし、データ数が何百件、何千件になると、そうはいかない。このような場合に「いち、にい、さん、・・・」と手作業で数えているようでは、とても定時には帰れない。関数COUNTを使って調べるのがスマートな作業の進め方、と覚えておこう。

関数COUNTの仕様

念のため、関数COUNTの仕様について、もう少し詳しく解説しておこう。関数COUNTを正しく使うには、「どのようなデータが数値としてカウントされるか?」を理解しておく必要がある。

ということで、簡単な実験を行ってみた。以下の図は、各列の3~7行目にある「数値の個数」を関数COUNTで調べた例だ。

  • 「空白」や「文字」などを含む場合の検証例

B列は「数値」のデータが5個あるので、その結果は5となる。C~E列は「文字」や「空白」を含む場合の例だ。これらは「数値」としてカウントされないので、関数COUNTの結果は4になる。数式などの計算結果が「エラー」になった場合も「数値」としてはカウントされないので、関数COUNTの結果は4になる(F列)。

注意すべきは、G列やH列のように「日付」や「時刻」のデータが含まれる場合だ。これらのデータはシリアル値という「数値」で管理されているため、関数COUNTでも「数値」としてカウントされる。基本的な考え方は関数SUMと同じなので、よく分からない方は本連載の第1回も参照しておくとよい。

関数COUNTの活用例

続いては、関数COUNTの活用例を紹介しておこう。データの件数が少ない場合であっても、これから紹介する例のように関数COUNTを効果的に活用できるケースがある。

以下の図は、ある旅館における一週間の「予約状況」と「宿泊代金」を一覧表にまとめたものだ。この旅館には全部で客室が10部屋あり、フロアごとに部屋のランクが異なっている。さらに、複数の旅行サイトから予約が入るため、宿泊代金は一律ではない。

そこで、各々のセルに「宿泊代金」を入力することで、現在の「予約状況」をまとめている。ちなみに空白のセルは、まだ予約可能な部屋(空室)を示していることになる。

  • 各部屋の予約状況をまとめた表

この表に「空室」という項目を追加して、各日の空室状況を一目で把握できるようにする場合を考えてみよう。このような場合にも関数COUNTが活用できる。

この旅館には全部で10部屋の客室があり、数値(宿泊代金)が入力されているセルは「予約済みの部屋」となる。よって、以下のように数式を入力すると、「空室」の数を求められる。

  • 「空室」の数を求める数式の入力

あとは、この数式をオートフィルでコピーするだけ。これで各日の「空室」の数を一目で把握することが可能となる。

  • 数式をオートフィルでコピー

  • 自動算出された「空室」の数

空白セルの個数を「いち、にい、さん・・・」と数えて、そのつど数値を手入力していく方法よりも、簡単かつ確実に「空室」を確認できることを実感できるだろう。

もちろん、新たに予約が入った場合にも対応できる。以下の図は、新たに入った3件の予約(セルの背景が薄い赤色の部分)を表に記入した例だ。数値データを追加すると、それに応じて「空室」の数も自動的に再計算されるので、空室状況を即座に把握できるようになる。

  • 新たに予約(数値データ)を追加した例

この例のように、数式内で関数COUNTを利用するのも効果的な手法となる。今回の例は簡単なものでしかないが、工夫次第で「もっと便利な表」に仕上げることも可能だ。

条件付きで「数値の個数」を数える関数COUNTIF

最後に、前回の連載で予告していた、条件付きで「数値の個数」をカウントする方法を紹介しておこう。この場合は、COUNTIFという関数を利用する。

COUNTIFを使用するときは、2つの引数を「,」(カンマ)で区切って記述する。第1引数には、関数COUNTと同様にセル範囲を指定する。続いて、第2引数に条件を「"」(ダブルクォーテーション)で囲んで記述する。

テスト結果をまとめた表に話を戻して、具体的な例を紹介していこう。たとえば、70点以上(数値が70以上)を条件に「数値データの個数」を数えるときは、以下のように関数COUNTIFを記述すればよい。

  • 関数COUNTIFの入力

「Enter」キーを押して結果を確認すると、12という結果が表示された。つまり、「横浜支社」で70点以上の人は12人いる、ということを即座に把握できた訳だ。

  • 関数COUNTIFの表示結果

念のため、「大阪支社」についても同様の条件(70点以上)で関数COUNTIFを入力した例を紹介しておこう。

  • 関数COUNTIFの入力

  • 関数COUNTIFの表示結果

こちらは、70点以上の人が7人いる、という結果になった。このように関数COUNTIFを使うことで、「★★以上の数値が何個あるか?」を簡単に求めることができる。

もちろん、「以上」以外の条件を指定することも可能だ。条件は比較演算子を使って記述するルールになっており、以下のような比較演算子を使用できる。

  >= ・・・・ 以上
  <= ・・・・ 以下
  > ・・・・ より大きい
  < ・・・・ より小さい(未満)
  = ・・・・ 等しい
  <> ・・・・ 等しくない

たとえば、「=COUNTIF(C4:C23,"<60")」と関数を記述すると、「60点未満の人が何人いるか?」を即座に求めることができる。

そのほか、セル参照を使って条件を指定する方法もある。たとえば、「平均点未満の人が何人いるか?」を求めたい場合は、平均値を算出したC24セルを参照して、以下のように関数COUNTIFを記述すればよい。

  • 条件を「C24セル未満」(平均未満)に変更

「大阪支社」についても同様の記述で「平均点未満の人数」を求めると、以下のような結果が得られる。

  • 関数COUNTIFの表示結果

どちらも「平均点未満の人数」を求めているのに、それなりの差があることを確認できるだろう。こういった指標から「両者の傾向の違い」を見極めることも可能だ。

このほかにも、関数COUNTIFには便利な使い方が沢山ある。話が長くなってしまったので、これについては次回の連載で詳しく紹介していこう。