Excel使いこなしの基礎と応用

SUMIFS関数で複数の条件を指定して合計する

使用関数:SUMIFS

SUMIFS関数は複数の条件全てに合致する値を取り出して合計します。SUMIFの拡張版。その基本構成と不等号(比較演算子)を使った条件の指定ルールなどを図解します。

目次


SUMIFSの基本構成

条件で検索した値を合計するのがSUMIF(サムイフ)。SUMIFS(サムイフ・エス)は複数の条件で検索した値を合計します。

スポンサーリンク

構成を見るために、引数のダイアログを開きましょう。 「数式」タブ「関数ライブラリ」の「数学/三角」から一覧を下へズズ~ッとスクロールして「SUMIFS」をクリックします。
「関数ライブラリ」の「数学/三角」からSUMIFSをクリック
最初の引数「合計対象範囲」は合計する数値が入ったセル範囲です。ここは唯一無二の指定で、以下の引数は全て、この範囲から値を取り出すための条件となります。
「条件範囲1」と「条件1」はセットで、以下「2」「3」…と続きます。表示されていない条件3以降の引数はスクロールバーを下へ動かして指定し、「合計対象範囲」から合算する値を絞り込んでいきます。
SUMIFSダイアログの構成

簡単な実例で引数を指定してみましょう。「G3」セルに「30代男性の来店数」を合計します。
合計対象範囲」は「来店数(4月)」の「E2:E11」
合計対象範囲に来店数のセル範囲を指定
最初の条件は「男性」。「条件範囲1」に性別のセル範囲「C2:C11」を指定、「条件1」に文字列で「"男"」と指定します。
条件範囲1に性別のセル範囲、条件1に文字列で"男"と指定
2番目と3番目の条件は「30代」。「条件範囲2」「条件範囲3」共に年齢のセル範囲「D2:D11」を指定、「条件2」に不等号で「">=30"」、「条件3」に不等号で「"<40"」と指定します。「30歳以上40歳未満」ということですね。
条件範囲2と3に年齢のセル範囲を指定し、条件2と3に「30歳以上40歳未満」を不等号で指定
数式は「=SUMIFS(E2:E11,C2:C11,"男",D2:D11,">=30",D2:D11,"<40")
性別範囲から男を検索し、尚且つ年齢範囲から30歳以上40歳未満を検索して、来店数から一致する値を合計する」

30代男性の4月来店数」が表示されました。
30代男性の4月来店数がSUMIFSで合計された

SUMIFSの引数の指定ルール

SUMIFSで指定する「合計対象範囲」と「条件範囲」は、SUMIFでの範囲指定と同様、行(列)数が揃っている必要があります。ここがガチャってると「0」が返されます。

スポンサーリンク

文字列の指定にはワイルドカードが使えます。テキストの中から対象となる文字列を抜き出して検索したい時には半角アスタリスクや半角疑問符と組み合わせて指定します。

不等号(比較演算子)を使った「条件」の指定ルール

比較演算子についての詳細は▶IF関数の使い方の基本と「論理式」の書き方いろいろ

不等号(比較演算子)を使った条件はダブルクォーテーション「"」で括る
前章の2と3の条件で「30歳以上40歳未満」を「">=30"」「"<40"」と不等号で指定しましたね。お気づきのようにダブルクォーテーションで括られています。文字列と同様、数値と明確に区別するためのルールです。

セルの入力値と不等号はアンパサンド「&」でつなげる
実例を挙げたほうが分かりやすいと思うので、ヘアサロンの売上表で平日にカットを行った件数をSUMIFSで合計してみます。
ヘアサロンの売上表で平日にカットを行った件数をSUMIFSで合計
「合計対象範囲」は数量の列「H:H」、「条件範囲1」は施術メニューの列「F:F」で「条件1」は「"カット"」。
SUMIFSダイアログで合計対象範囲~条件1までを指定
「条件範囲2」に曜日の列「E:E」を指定し、本題の「条件2」には不等号の「~を含めない」をダブルクォーテーションで括って「"<>"」と入力、続けてアンパサンド「&」を入力し、「土曜日」と入ったセルをクリックします。
"<>"&E10」=「土曜日を除く
「条件2」に"<>"&E10と指定
「条件3」には「"<>"&E14」=「日曜日を除く」を指定します。
「条件3」に"<>"&E14と指定
数式はこんなです。
=SUMIFS(H:H,F:F,"カット",E:E,"<>"&E10,E:E,"<>"&E14)
※ここで注意! 曜日は単に日付を表示形式で置換えたものだと上記のように取得できません。文字列で「土曜日」「日曜日」と入力しておくか、WEEKDAY関数で曜日を取得しておきます。

セルでなく、曜日番号で指定する場合は以下のようになります。
"<>7"」「"<>1"
=SUMIFS(H:H,F:F,"カット",E:E,"<>7",E:E,"<>1")

※ダブルクォーテーションの位置に注意して下さい。これを間違えると「0」が返されたり、条件そのものが無視されたりします。
ダブルクォーテーションの位置に注意

▶検索して合計するSUMIF関数|2つの範囲をどう指定するかがポイント

まとめ

  • SUMIFS関数は複数の条件全てに一致した値を合計する
  • 条件の指定にはワイルドカードが使える
  • 引数「合計対象範囲」と「条件範囲」は行(列)数を揃える
  • 不等号(比較演算子)を使った「条件」はダブルクォーテーション「"」で括る
  • 不等号(比較演算子)とセルはアンパサンド「&」でつなげる


高機能の表計算ソフトExcelを活用すれば、仕事や私生活で、今あなたが必要とするいろいろなモノが作れます。その作成手順とデザイン、アイデアのヒントまでを可能な限り詳細にわかりやすくナビします。基本操作や関数、グラフに関する解説記事とともにご利用下さい。