無料でExcel並み!Google スプレッドシートの使い方

定番の関数をまとめて覚える。データの合計、平均、カウント

条件の数によって、「S」の有り無しの関数を使い分けると思いがちだが……

 数値を合計、平均、カウントする時に使う関数はご存じですか? SUM(サム)、AVERAGE(アベレージ)、COUNT(カウント)ですね。「もし○○だったら~」という条件が必要な場合は、SUMIF(サム・イフ)、AVERAGEIF(アベレージ・イフ)、COUNTIF(カウント・イフ)が定番です。条件を表す「IF」付きの関数となります。

 では、条件が複数の場合は? SUMIFS(サム・イフ・エス)、AVERAGEIFS(アベレージ・イフ・エス)、COUNTIFS(カウント・イフ・エス)です。複数形の「S」が追加されています。

 条件が1つの時は、SUMIF/AVERAGEIF/COUNTIIF、条件が複数の時は、SUMIFS/AVERAGEIFS/COUNTIFSと使い分けているかも知れませんが、実は、「S」付きの「SUMIFS」「AVERAGEIFS」「COUNTIFS」のみを使っても問題ないのです。今回は、これらの関数の違いを確認していきましょう。

SUMIF関数の代わりにSUMIFS関数を使う

 最初に、SUMIF関数の動きを確認します。構文は『=SUMIF(範囲, 条件, 合計範囲)』となります。引数[範囲]は、引数[条件]の検索対象です。以下の例では、「アルコール」の「売上」を合計したいので、入力する関数式は、「=SUMIF(B2:B7,G3,E2:E7)」です。

 この例では、引数[条件]に指定する文字列がG3に入力済みです。なお、関数式で条件を直接指定する場合は「"アルコール"」と「"」(ダブルクォーテーション)で囲んでください。

引数[条件]に指定する文字列がG3に入力してある。I3に「=SUMIF(B2:B7,G3,E2:E7)」と入力した

 結果は「67,460」となりました。条件は「アルコール」のまま、SUMIFS関数で書き換えてみます。

 SUMIFS関数の構文は『=SUMIFS(合計範囲 ,条件範囲1, 条件1, ,条件範囲2, 条件2, ...)』となります。この例では条件が1つなので、I7に入力する数式は「=SUMIFS(E2:E7,B2:B7,G7)」です。

引数[条件]に指定する文字列がG7に入力してある。I7に「=SUMIFS(E2:E7,B2:B7,G7)」と入力した

 結果はSUMIF関数と同じく「67,460」となりました。SUMIFS関数は複数の条件を指定する時に使う、と決めつけてしまいがちですが、条件が1つでも問題なく動作します。

 SUMIFS関数で複数の条件を指定する例として、『注文数が「20以上」』の条件を追加してみます。I9に入力する関数式は「=SUMIFS(E2:E7,B2:B7,G9,D2:D7,H9)」です。

 追加する条件は、H9に入力済みです。条件を追加する際に、引数[条件範囲2]と引数[条件2]・・・、と追記するわけです。なお、関数式で条件を直接指定する場合は「">=20"」と「"」(ダブルクォーテーション)で囲みます。

追加する条件範囲と条件を追記すると考える。I9に「=SUMIFS(E2:E7,B2:B7,G9,D2:D7,H9)」と入力した

 SUMIF関数とSUMIFS関数の構文を比較すると、

=SUMIF(範囲, 条件, 合計範囲)

=SUMIFS(合計範囲 ,条件範囲1, 条件1, ...)

 となります。引数[合計範囲]の位置が異なり、SUMIFS関数では、1つ目の引数に合計するセル範囲を指定します。

AVERAGEIF関数もAVERAGEIFS関数で代用する

 AVERAGEIF関数とAVERAGEIFS関数の関係も、SUMIF関数とSUMIFS関数の関係と同じです。構文を比較すると、

=AVERAGEIF(範囲, 条件, 平均範囲)

=AVERAGEIFS(平均範囲 ,条件範囲1, 条件1 ,条件範囲2, 条件2, ...)

 となります。1つ目の引数に平均する範囲を指定します。SUMIFS関数と同様ですね。AVERAGEIF関数とAVERAGEIFS関数の結果を比較してみましょう。

引数[条件]に指定する文字列がG13に入力してある。I13に「=AVERAGEIF(B2:B7,G13,E2:E7)」と入力した。結果は「16,865」だ
引数[条件]に指定する文字列がG17に入力してある。I17に「=AVERAGEIFS(E2:E7,B2:B7,G17)」と入力した。結果はAVERAGEIF関数と同じく「16,865」だ

 AVERAGEIFS関数で1つの条件を指定した場合、AVERAGEIF関数と同じ結果を求められることがわかりますね。ちなみに、AVERAGEIFS関数で複数の条件を指定する場合は、以下のようになります。

引数[条件1]に指定する文字列がG19,引数[条件2]に指定する文字列がH19に入力してある。I19に「=AVERAGEIFS(E2:E7,B2:B7,G19,D2:D7,H19)」と入力した。結果は「24,800」だ

COUNTIF関数とCOUNTIFS関数は引数の順番も同じ

 COUNTIF関数とCOUNTIFS関数の関係は単純です。引数の順番も同じで、それぞれの構文は、

 =COUNTIF(範囲, 条件)

 =COUNTIFS(条件範囲1, 条件1, ,条件範囲2, 条件2, ...)

 となります。COUNTIF関数もCOUNTIFS関数も、条件範囲と条件の対で指定します。「S」付きのCOUNTIFS関数は「条件範囲と条件を複数指定できる」だけの違いです。動作を見てみましょう。

引数[条件]に指定する文字列がG23に入力してある。I23に「=COUNTIF(B2:B7,G23)」と入力した。結果は「4」だ
引数[条件]に指定する文字列がG27に入力してある。I27に「=COUNTIFS(B2:B7,G27)」と入力した。結果はCOUNTIF関数と同じく「4」だ

 なお、COUNTIFS関数で複数の条件を指定する場合は、以下のようになります。

引数[条件1]に指定する文字列がG29,引数[条件2]に指定する文字列がH29に入力してある。I29に「=COUNTIFS(B2:B7,G29,D2:D7,H29)」と入力した。結果は「2」だ

 ほとんどの場合、SUMIF/AVERAGEIF/COUNTIIFは「S」付きのSUMIFS/AVERAGEIFS/COUNTIFSで代用しても問題ないと考えられます。旧バージョンのExcelで作成されたファイルなどとの互換性を考慮するなら、「S」無しの関数を使う必要があると考えられますが、意図せずに「S」有りと「S」無しの関数が混在している場合は、「S」付きの関数に統一することをおすすめします。