COUNTIF関数の基本ルールと「COUNTIF(条件, 範囲)」の謎

COUNTIF関数の基本ルールと「COUNTIF(条件, 範囲)」の謎 Excel

※本記事には独自の研究・検証結果を含みます。内容の正確性についてはご自身でもご確認ください。(Excel 2021で動作の検証を行っています。)

COUNTIF関数の普通のルール

Excelでよく使う「COUNTIF関数」について、今日は基本からお話しします。

この関数は、指定した範囲の中に、特定の条件に合うデータが「何個あるか?」を数えるときにとても便利です。

例えば、たくさんの人が登録されている参加者リストの中から、
「東京都」出身の人だけを数えたい、といった場面などで大活躍します。

普通の書き方:COUNTIF(範囲, 条件)

まず、COUNTIF関数の普通の書き方、つまり基本ルールを確認しましょう。

それは、COUNTIF(範囲, 条件) という順番で書くことです。

引数1:範囲

最初の「範囲」には、データを数えたいセルの範囲を指定します。

(例えば、都道府県が入力されているB2セルからB10セルまでなら B2:B10

引数2:条件

次の「条件」には、数えたいデータの条件を指定します。
(例えば、「東京」という文字なら “東京“)

具体例

具体的には、セルに =COUNTIF(B2:B10, “東京“) のように入力します。

こうすると、ExcelはB2セルからB10セルまでを一つずつ見て、
東京」と書かれたセルがいくつあるかを数えてくれます。

そして、その「個数」を、
数式を入力したセルにポンと表示してくれます。

これが、COUNTIF関数の基本ルールであり、最も一般的な使い方です。

COUNTIF(条件, 範囲) という書き方?

ところで、時々インターネットの記事や掲示板などで、
COUNTIF(条件, 範囲) という書き方を見かけます。

引数の順番が基本ルールと逆になった形です。

例えば、COUNTIF(東京, B2:B10)

しかし、第1引数に直接 “東京” と入力するとうまくいきません。

細かい説明は省略します。以下の画像を参考にしてください。

COUNTIF(条件, 範囲) は標準的な使い方ではありません

ここで、初心者の方にぜひ覚えておいてほしい、とても大事なことをお伝えします。

この COUNTIF(条件, 範囲) という、引数の順番が逆の書き方は、
標準的な使い方ではありません。

Excelの公式ヘルプ(操作説明)や、
信頼できる多くの解説書では、
通常、この順番での使い方は説明されていません。

なので、Excelを学び始めたばかりの方は、
まず基本の COUNTIF(範囲, 条件) という書き方をしっかりと覚えて、
使えるようになることを目指しましょう。

COUNTIF(条件, 範囲) という書き方が出てくるのはなぜ?

では、標準的ではない特殊な書き方が、なぜ話題になることがあるのでしょうか?

少し難しい話になりますが、
これはExcelの機能である「配列数式」や「スピル」という仕組みと関係があると考えられます。

配列数式とスピルとは?

配列数式」や「スピル」という言葉を初めて聞く方もいるかもしれませんね。

少し難しい話になりますが、
簡単にイメージだけお伝えしますね。

配列数式とは?

普通の数式は、計算結果として「1つのセル」に「1つの答え」(数字や文字)を返しますよね?

でも、「配列数式」という特別な扱い方をExcelが認識することがあります。

その場合、数式は一度にたくさんの計算をします。

結果として「複数の答え」(値のリスト=配列)をまとめて返すことができるのです。

スピルとは?

スピル」というのは、比較的新しいExcelに入っている便利な機能です。

Excel 365 および Excel 2021 以降のバージョンです。)

この機能は、配列数式が返した複数の答えを、自動的に隣り合ったセルにズラッと展開して表示してくれます。

COUNTIF(条件, 範囲) が配列を返すという「仮説」

ここからが、今回の本題である「仮説」の話です。(あくまで、そう考える人もいる、という話です)

もしかしたら、COUNTIF(条件, 範囲) という特殊な書き方をすることがあります。

そうすると、Excelがこれを「配列数式」として特別に解釈し、次のような動きをするかもしれない、と考える人がいるのです。(あくまで仮説です!)

仮説に基づく動作イメージ

その仮説とは、次のようなものです。

Excelがまず、「範囲」として指定されたセル(例えばB2からB10まで)を、一つずつ順番にチェックしていく。

そして、それぞれのセルが「条件」(例えば “東京”)に合っているかどうかを見る。

合っていれば「1」、合っていなければ「0」のように、チェック結果を内部で記録していく。

最後に、そのチェック結果を、順番に並べたリスト(配列)として {1, 0, 1, 0, …} のような形で内部的に作成します。

そして、そのリストを計算結果として返す(スピル機能でセルに表示されることもある)と考えられます。

【重要】これは保証された動作ではありません!

これは、COUNTIF関数の本来の動作として保証されているものではありません。

そう動くかもしれない、という想像や特殊な解釈に基づいた考え方だということを、忘れないでください。

この特殊な書き方は使うべき?

初心者の方へ:まずは基本を大切に

ここまで読んで、「なんだか難しそうだし、ややこしいな…」と感じたかもしれませんね。

その感覚は正しいです!

正直なところ、この COUNTIF(条件, 範囲) という書き方は非常に特殊です。

なぜそう動くのか(あるいは動かないのか)を正確に理解するのは、
Excelに慣れた人でも難しい場合があります。

また、使っているExcelのバージョンや、ちょっとした書き方の違いで、期待通りに動かない可能性もあります。

なので、Excel初心者であれば、
この特殊な書き方のことは、今は一旦忘れてしまって大丈夫です。

混乱するよりも、まずは基本の COUNTIF(範囲, 条件) を自信を持って使えるようになることを優先しましょう。

複数の条件で数えたいときは?

では、「東京都出身」で、なおかつ「男性」のように、複数の条件を同時に満たす人の数を数えたい場合はどうすればいいでしょうか?

COUNTIFS関数を使いましょう!

そんなときのために、Excelには COUNTIFSという、まさにそのための便利な関数が用意されています。(最後にSが付きます!)

COUNTIFS関数は、COUNTIFS(条件範囲1, 条件1, 条件範囲2, 条件2, …) という形で使います。

これによって、調べたい条件をいくつも追加していくことができます。

例えば、=COUNTIFS(B2:B10, “東京“, C2:C10, “男性“) のように書きます。

こうすれば、「B列が東京」で、かつ「C列が男性」の人の数を正確に数えてくれます。

複数の条件で数を数えたい場合は、このCOUNTIFS関数を使うのがお勧めです。

こちらの方が、はるかに安全で、誰が見ても分かりやすい方法です。

まとめ

今回は、COUNTIF関数のちょっと特殊な書き方 COUNTIF(条件, 範囲) について解説しました。

なぜこの書き方が話題になることがあるのか、その背景にあるかもしれない「配列数式」や「スピル」といった機能との関連(あくまで仮説ですが)を少し詳しく見てみました。

しかし、繰り返しになりますが、この書き方はExcelの標準的な使い方ではなく、
分かりにくいため、特に初心者の方にはお勧めしません。

Excelをこれから学んでいく上では、まず基本の COUNTIF(範囲, 条件) をしっかり理解することが大切です。

そして、複数の条件でデータを数えたいときには COUNTIFS 関数を使います。

基本をしっかり押さえて、Excelをもっともっと便利に活用していきましょう!

タイトルとURLをコピーしました