OfficeType

Excel~SUMIFS関数で複数の条件に合う数値を合計しよう~エクセル

エクセルで指定した範囲内において、複数の条件を満たした場合に数値を合計するSUMIFS関数について説明します。

  • SUMIFS関数の書式はSUMIFS(合計対象範囲, 条件範囲 1, 条件 1, [条件範囲 2, 条件 2], ...)になります。
  • 合計対象範囲は合計したい項目の範囲を指定します。
  • 条件範囲 1は一つ目の条件を探したい項目の範囲を指定します。
  • 条件 1は条件範囲 1の中から検索したい条件を指定します。
  • 条件範囲 2は二つ目の条件を探したい項目の範囲を指定します。
  • 条件 2は条件範囲 2の中から検索したい条件を指定します。
  • 同じように条件範囲 3,4,5・・・と条件 3,4,5・・・と指定することで複数の条件に一致した数値を合計します。

文字列を条件にする

下の画像の例で1班の男性のポイント合計をセルF2に表示したい場合はセルF2に=SUMIFS(D2:D7,B2:B7,"1班",C2:C7,"男性")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルD2からセルD7の範囲を設定するのでD2:D7になります。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 1は班の項目から1班の人を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

条件範囲 2は性別の項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件 2は性別の項目から男性を抽出したいので"男性"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルF2に=SUMIFS(D2:D7,B2:B7,"1班",C2:C7,"男性")と入力しEnterを押すと1班の男性であるAさんとEさんのポイントの合計3000が表示されます。

数値を条件にする

下の画像の例で1班で35歳以上の人のポイント合計をセルF2に表示したい場合はセルF2に=SUMIFS(D2:D7,B2:B7,"1班",C2:C7,">=35")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルD2からセルD7の範囲を設定するのでD2:D7になります。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 1は班の項目から1班の人を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

条件範囲 2は年齢の項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件 2は年齢の項目から35歳以上を抽出したいので">=35"になります。>を含めて"(ダブルクォーテーション)で囲んでください。

比較演算子は以下の表に対応しています。

比較演算子説明
>より大きい
<より小さい
=等しい
>=以上
<=以下
<>等しくない

つまりセルF2に=SUMIFS(D2:D7,B2:B7,"1班",C2:C7,">=35")と入力しEnterを押すと1班で35歳以上のAさんとEさんのポイントの合計3000が表示されます。

空白を条件にする

下の画像の例で名前の項目が空白で1班の人のポイントの合計をセルE2に表示したい場合はセルE2に=SUMIFS(C2:C7,A2:A7,"",B2:B7,"1班")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

条件 1は名前の項目から空白を抽出したいので空白を設定したい場合は""を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 2は班の項目から1班を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルE2に=SUMIFS(C2:C7,A2:A7,"",B2:B7,"1班")と入力しEnterを押すと名前の項目が空白の一班の人のポイントの合計2500が表示されます。

空白以外を条件にする

下の画像の例で名前の項目が空白以外で1班の人のポイントの合計をセルE2に表示したい場合はセルE2に=SUMIFS(C2:C7,A2:A7,"<>",B2:B7,"1班")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

条件 1は名前の項目から空白以外を抽出したいので空白以外を設定したい場合は"<>"を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 2は班の項目から1班を抽出したいので"1班"になります。条件は"(ダブルクォーテーション)で囲んでください。

つまりセルE2に=SUMIFS(C2:C7,A2:A7,"<>",B2:B7,"1班")と入力しEnterを押すと名前の項目が空白以外で1班のAさんとEさんのポイントの合計3000が表示されます。

日付を条件にする

下の画像の例でセルD2に2016/9/27から2016/10/3の売上個数の合計を表示したい場合はセルD2に=SUMIFS(B3:B8,A3:A8,">=2016/9/27",A3:A8,"<=2016/10/3")と入力しEnterを押します。

合計対象範囲は売上個数の項目なのでセルB3からセルB8の範囲を設定するのでB3:B8になります。

条件範囲 1は日付の項目なのでセルA3からセルA8の範囲を設定するのでA3:A8になります。

条件 1は日付の項目から2016/9/27以降を抽出したいので">=2016/9/27"を入力します。

条件範囲 2も日付の項目なのでセルA3からセルA8の範囲を設定するのでA3:A8になります。

条件 2は日付の項目から2016/10/3以前を抽出したいので"<=2016/10/3"を入力します。

つまりセルD2に=SUMIFS(B3:B8,A3:A8,">=2016/9/27",A3:A8,"<=2016 /10/3")と入力しEnterを押すと2つの日付の条件から2016/9/27から2016/10/3の売上個数20が表示されます。

任意の文字列を含む事を条件にする

任意の文字列を含むことを条件に指定したい場合はワイルドカードの*(アスタリスク)か?(クエスチョンマーク)を使います。*は文字数無制限の文字列を意味します。例えば"あ*"は最初に"あ"を含む文字列を意味します。"あいうえお"でも"あい"でも条件に一致したとみなされます。"*お"は最後に"お"を含む文字列を意味します。"あいうえお"でも"えお"でも条件に一致するとみなされます。?は1文字を意味します。たとえば"あ?"は最初に"あ"を含む2文字を意味します。"あい"や"あう"は条件に一致しますが、"あいう"は条件に一致しません。最初に"あ"を含む3文字を条件にしたい場合は"あ??"とします。

下の画像の例で名前の最後に"君"を含む1班の人のポイント合計をセルE2に表示したい場合はセルE2に=SUMIFS(C2:C7,A2:A7,"*君",B2:B7,"1班")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件範囲 1は名前の項目なのでセルA2からセルA7の範囲を設定するのでA2:A7になります。

条件 1は名前の項目から名前の最後に"君"を含む人を抽出したいので"*君"を入力します。

条件範囲 2は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 2は班の項目から1班を抽出したいので"1班"を入力します。

つまりセルE2に=SUMIFS(C2:C7,A2:A7,"*君",B2:B7,"1班")と入力しEnterを押すと名前の最後に"君"を含む1班の人であるD君とF君のポイント合計の3200が表示されます。

別セルを参照して条件にする

下の画像の例で条件 1にセルF2を参照し、条件 2にセルG2を参照してセルH2に1班の35歳以上の人のポイントの合計を表示したい場合はセルH2に=SUMIFS($D$2:$D$7,B$2:B$7,F2,C$2:C$7,">="&G2)と入力しEnterを押します。オートフィルした時に範囲がズレないように合計対象範囲と条件範囲 1、条件範囲 2に絶対参照$を使用しています。

合計対象範囲はポイントの項目なのでセルD2からセルD7の範囲を設定するので$D$2:$D$7になります。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するので$B$2:$B$7になります。

条件 1はセルF2を参照して班の項目から1班の人を抽出したいのでF2を入力します。

条件範囲 2は年齢の項目なのでセルC2からセルC7の範囲を設定するので$C$2:$C$7になります。

条件 2はセルG2を参照して年齢の項目から35際以上の人をを抽出したいので">="&G2を入力します。

つまりセルH2に=SUMIFS($D$2:$D$7,B$2:B$7,F2,C$2:C$7,">="&G2)と入力しEnterを押すと1班の35歳以上の人であるAさんとEさんのポイント合計の3000が表示されます。

セルH2からセルH3までオートフィルすれば2班の40歳以上の人のポイント合計も求められます。

条件は1つでもOK

SUMIFS関数は複数の条件を指定して数値を合計するのに便利ですが、条件は1つでもOKです。これはSUMIF関数と同じ結果が得られるので好きな方を使いましょう。

下の画像の例で1班の人のポイント合計をセルE2に表示したい場合はセルE2に=SUMIFS(C2:C7,B2:B7,"1班")と入力しEnterを押します。

合計対象範囲はポイントの項目なのでセルC2からセルC7の範囲を設定するのでC2:C7になります。

条件範囲 1は班の項目なのでセルB2からセルB7の範囲を設定するのでB2:B7になります。

条件 1は班の項目から1班の人を抽出したいので"1班"を入力します。

つまりセルE2に=SUMIFS(C2:C7,B2:B7,"1班")と入力しEnterを押すと1班のAさん、Dさん、Eさんのポイント合計の4500が表示されます。