SUMIFS関数は複数条件を満たす数値の合計求めるときに使う:Excel関数

SUMIFS関数は複数条件を満たす数値の合計求めるときに使う:Excel関数

Excel関数のSUMIFS関数は、複数条件のすべてと一致する値の合計を求める際に使う関数です。

以前に取り上げた「SUMIF関数」と似た部分はありますが、引数の指定順番などが異なりますので、使用する場合は注意が必要です。

SUMIFS関数は複数条件に一致するセルの値を合計する

対応バージョン:Excel365 2019 2016 2013 2010

SUMIFS関数の書式は以下のようになります。

=SUMIFS(合計対象範囲,条件範囲1,条件1,条件範囲2,条件2,…)
※括弧内に指定する「合計対象範囲,条件範囲1,条件1,条件範囲2,条件2」を”引数”といいます。
※〔条件範囲〕と〔条件〕の組み合わせは127個まで指定可能。

  • 〔合計対象範囲〕の「空白セル」や「文字列が入力されたセル」は無視されます。
  • 〔条件〕には、比較演算子(<>,=>,<=)なども指定可能。
  • 〔条件〕指定は、すべてAND条件(〇〇かつ〇〇という条件で、両方の条件を満たすことで成立)になります。
  • 〔条件〕には、ワイルドカード(* 任意の長さの文字、? 任意の1文字)も指定できます。

引数の説明

  • 第一引数〔合計対象範囲〕:合計を求めるセル範囲。
  • 第二引数〔条件範囲〕:第三引数の〔条件〕によって検索されるセル範囲。
  • 第三引数〔条件〕:合計を求める条件。

SUMIFS関数で複数条件に合う数値の合計を算出

実際のサンプルでSUMIFS関数の使い方を説明します。

以下のサンプルは、性別ごと職業ごとに利用金額の合計を求めています。

SUMIFS関数の使い方

上記サンプルでは、「男性かつ会社員」の合計を求めていますので、D12セルには以下の関数が入力されています。

=SUMIFS
($E$2:$E$8,$C$2:$C$8,”男性”,$D$2:$D$8,”会社員”)

引数の解説

  • 〔合計対象範囲〕:合計を求める列を指定するので「$E$2:$E$8」と金額列のセル範囲を指定
  • 〔条件範囲1〕:性別が条件なので「$C$2:$C$8」と性別列のセル範囲を指定
  • 〔条件1〕:男性を条件1とするので”男性”と指定
  • 〔条件範囲2〕:職業が条件なので「$D$2:$D$8」と職業列のセル範囲を指定
  • 〔条件2〕:会社員を条件2とするので”会社員”と指定

文字列を〔条件〕に指定する場合は、文字列の前後にダブルクォーテーション(””)を付けます。

セル番号の先頭に”$”マークがついていますが、この書き方は「絶対参照」という書き方です。これに対して、”$”が付かない通常の書き方を「相対参照」といいます。

相対参照の場合、数式を含んだセルをコピーすると、セル参照がコピー先の位置に合わせて変更されます。しかし、どの数式からも同じセルを参照したい場合では、セル参照が変更されては困ります。それを防ぐためには、セル参照を絶対参照(セル番号に”$”を付ける方式)にしておきます。そうすることで、数式をコピーしてもセル参照が変更されなくなります。

SUMIFS関数のいろいろな使い方

SUMIFS関数は、「〇〇以上〇〇未満の数値を合計する」という使い方もできます。

下記のサンプルでは、「20歳以上30歳未満の合計を求める」といった場合の使い方です。

〇〇以上〇〇未満の数値を合計する

=SUMIFS
($F$2:$F$8,$C$2:$C$8,”>=20″,
$C$2:$C$8,”<30")

  • 〔合計対象範囲〕:合計を求める列を指定するので「$F$2:$F$8」と金額列のセル範囲を指定
  • 〔条件範囲1〕:年齢20歳以上を抽出したいので「$C$2:$C$8」と年齢列のセル範囲を指定
  • 〔条件1〕:20歳以上を条件1とするので”>=20″と指定
  • 〔条件範囲2〕:年齢30歳未満を抽出したいので「$C$2:$C$8」と年齢列のセル範囲を指定
  • 〔条件2〕:30歳未満を条件2とするので”<30"と指定

数式の中で使われている比較演算子は、サンプルで使用したものの他に以下のものが使えます。あいまい検索をする場合のワイルドカードも、以下の種類があります。

比較演算子 意味
= 等しい
> より大きい
< より小さい
>= より大きい、もしくは等しい
<= より小さい、もしくは等しい
<> 等しくない

検索条件にワイルドカードを使い、あいまい検索を行うこともできます。

よく使われるワイルドカードには以下のものがあります。

ワイルドカード 意味 使い方
* 1文字以上の文字列 “A*” Aで始まる文字列
“*A” Aで終わる文字列
“*A*” Aを含む文字列
? 1文字の文字列 “A?” Aで始まる2文字
“?A” Aで終わる2文字
“?A?” Aを含む3文字

合計を求める関数「関連記事」

Scroll Up