Excel

【Excel】エクセルのCOUNTIF関数とCOUNTIFS関数の違いは?

当サイトでは記事内に広告を含みます。

この記事では「エクセルのCOUNTIF関数とCOUNTIFS関数の違い」について、解説していきます。

名前は似ているものの、下記3点において全く別関数といっていいほどの差異があります。

・引数の設定方法

・処理内容の詳細

・できること、できないこと

であり、よほどの事情がない限り、新しい方の関数であるCOUNTIFS関数を使用するといいです。

それでは、各々の関数の使用方法から処理結果までサンプルデータを用いて説明していきます。

エクセルのCOUNTIF関数とCOUNTIFS関数の違い1

COUNTIF関数とCOUNTIFS関数の大きな違いとして「引数の個数」が挙げられます。

一言でいうと

・COUNTIF関数は1条件のみに該当するデータ数をカウント

・COUNTIFS関数は任意の複数条件に該当するデータ数をカウント可能

と違いがあるわけです(もちろん処理方法によってはCOUNTIF関数にて複数条件のカウントができるものの処理しにくく、COUNTIFS関数を使うといいです)。

これは、COUNTIF関数が昔からある関数であり、この改良版の関数としてできたものがCOUNTIFS関数だからですね。

 

下記サンプルデータに基づき、各関数における引数設定方法の具体例を元に、COUNTIF関数とCOUNTIFS関数の違いを説明します。

COUNTIF関数の使用方法は出力するセルに「=COUNTIF(B2:B31, “>=80”)」と入力します。

COUNTIFS関数の使用方法は出力するセルに「=COUNTIFS(B2:B31, “<50”, C2:C31, “>30”)」と入力します。

数式について詳細を解説します。

それぞれ、

= COUNTIF (範囲, 検索条件)

=COUNTIF(検索条件範囲1, 検索条件1, [検索条件範囲2, 検索条件2], …)

と入力します。

上述の通り、COUNTIF関数は「範囲, 検索条件」のパターン以外ありませんが、COUNTIFS関数は「検索条件範囲, 検索条件」のセットを複数設定することが可能なわけですね。

 

エクセルのCOUNTIF関数とCOUNTIFS関数の違い2

COUNTIF関数とCOUNTIFS関数の違いをより理解していただくために、別サンプルにて各関数の処理の詳細を見ていきましょう。

 

COUNTIF関数は範囲において検索条件に合致するデータの数を出力します。

下記サンプルでは特定の値以上のNo.がいくつあるかを出力しています。

 

また、数値だけではなく、文字列に使用することも可能です。

下記のように、特定の品目がどれだけあるかを簡単に示すことができます。

 

一方、COUNTIFS関数では設定された「検索条件範囲, 検索条件」をすべて満たすデータ数を出力します。

下記サンプルでは値1が80以上かつ値2が30以下のNo.がいくつあるかを出力しています。

 

COUNTIFS関数でもCOUNTIF関数と同じく文字列に対して使用することができます。

下記例のように店舗-品目の数量を示すマトリックスを作成することも可能です。

 

いずれもおいても、出力するセルを選び、関数に条件を設定後、ENTERキーを押すという手順が必要となります。

 

エクセルのCOUNTIF関数とCOUNTIFS関数の違い3

COUNTIFS関数は2007以降でサポートされた関数なので、COUNTIF関数よりもさらに強力な機能を有しています。

COUNTIF関数でできないことでもCOUNTIFS関数だと可能といったケースがいくつかあります。

例えば、「20以上40以下のデータをカウントしたい」という場面ではCOUNTIF関数では対応できません。

もし、どちらの関数を使用するかで迷っているなら、特別な事情がない限り、COUNTIFS関数を選択することをおすすめします。

現在は1種類のデータしか扱っていないとしても、将来的にそれが続くとは限りません。

将来における拡張性を考慮した関数の選び方をしましょう。

 

まとめ エクセルのCOUNTIF関数とCOUNTIFS関数の違い

この記事では「エクセルのCOUNTIF関数とCOUNTIFS関数の違い」について解説しました。

OFFICEのバージョンはこれまで3~4年に1度のペースでリリースされているようですが、その際に新たな関数がサポートされることがあります。

当然、新しい関数ほど、

・動作が早い

・安全である

・機能が強化されている

・簡潔に記述できる

といったメリットがあります。

古い時代に作成されたファイルがありましたら、新しくサポートされた関数に差し替えることはできないか、一度検討してみてはいかがでしょうか。