- Home » 
- エクセル関数の技 » 
- 合計する関数の技
    - セルの値を合計するワークシート関数や機能をまとめて説明しています 。合計ができる関数はいろいろありますので、それらの違いや特徴を説明しています。
更新:2025/9/18;作成:2007/4/13
SUM関数:=SUM(数値1,数値2,・・・)
  - 引数に数値、論理値、数値を表す文字列を指定した場合
  
    - =SUM(1,TRUE,"1") は「3」になります。
    
 TRUEは数値の1として、文字列「"1"」は数値の1として計算されますので、=SUM(1,1,1)=3といった感じです。
- ただし、計算できない文字列が入るとエラーが返されます。
 =SUM(1,TRUE,"A") は #VALUE! となります。
   
- エラー無視して計算したい場合は↓をご覧ください。
 エラー値を無視して合計や平均の計算したい:Excel基本講座
 http://www.eurus.dti.ne.jp/~yoneyama/Excel/error3.html
 
- 引数にセル範囲を指定した場合
 数値セルが計算され、空白セル、論理値、文字列のセルは無視されます。
 =SUM(C1:C5) は以下の例では「1」となります。
 B1セルの数値「1」のみが計算されますので、=SUM(C1:C5)=1 となります。
  
- 四則演算の足し算との違い
  
- 足し算では数値として扱える文字列は計算されます。
 文字列の数字を計算した例です。=B1+B2 とすると15となります。
 ちなみに、=SUM(B1:B2)は0となります。
  
- なお、=B1+B2で数値と見なされない文字列のセルがある場合にはエラーとなります。
 ちなみに、=SUM(B1:B2) では文字列のセルは無視されますので、0となります。
  
- 論理値のTRUEは1、FALSEは0として計算されます。
 =B1+B2 とすると、1となります。
 ちなみに、=SUM(B1:B2) では論理値のセルは無視されますので 0となります。
  
 
  - 下表は使用したデータです。コピーしてお使いください。
 
    
      
        | 日付 | 商品名 | 単価 | 数量 | 金額 |  
        | 2025/9/1 | りんご | 100 | 203 | 20,300 |  
        | 2025/9/2 | みかん | 80 | 157 | 12,560 |  
        | 2025/9/3 | なし | 150 | 308 | 46,200 |  
        | 2025/9/1 | もも | 280 | 179 | 50,120 |  
        | 2025/9/2 | バナナ | 110 | 221 | 24,310 |  
        | 2025/9/3 | ぶどう | 360 | 230 | 82,800 |  
        | 2025/9/1 | りんご | 100 | 126 | 12,600 |  
        | 2025/9/2 | みかん | 80 | 253 | 20,240 |  
        | 2025/9/3 | なし | 150 | 84 | 12,600 |  
        | 2025/9/1 | バナナ | 110 | 97 | 10,670 |  
        | 2025/9/2 | ぶどう | 360 | 141 | 50,760 |  
        |  |  |  | 合計 | 343,160 |  
 
SUMIF関数:=SUMIF(範囲,検索条件,合計範囲)
  - 検索条件が文字列の場合
  
    - 商品名が「りんご」の金額を合計する
    
 =SUMIF(B2:B12,"りんご",E2:E12)
 検索文字列を「"」(ダブルクォーテーション)で括ります
  
- 商品名が「りんご」以外の金額を合計する
    
 =SUMIF(B2:B12,"<>りんご",E2:E12)
 比較演算子(<>:等しくない)と組合せ、「"」で括ります。
  
- 商品名が空欄(未入力)でない金額を合計する
    
      - =SUMIF(B2:B12,"<>"&"",E2:E12)
 比較演算子(<>:等しくない)と組合せ、「"」で括ります。
- =SUMIF(B2:B12,"*",E2:E12)
 ワイルドカード「*」を利用しています。何か入力されていたら・・・という意味になります。
  
 
 
- 検索条件が数値の場合
  
    - 単価が「100」の金額を合計する。
 =SUMIF(C2:C12,100,E2:E12)
 検索条件が数値の場合は「"」で括る必要はありません。
  
- 数量が200未満の金額を合計する 
 =SUMIF(D2:D12,"<200",E2:E12)
 比較演算子(<:未満)と組合せる時は「"」で括ります。
  
- 数量が200以上の金額を合計する
    
 =SUMIF(D2:D12,">=200",E2:E12)
 比較演算子(>=:以上)と組合せる時は「"」で括ります。
   
 
- 検索条件がシリアル値の場合
  
    - 日付が9月1日(2025/9/1)の金額を合計する 
 =SUMIF(A2:A12,"2025/9/1",E2:E12)
 シリアル値を「"」で括ります。
  
- 日付の期間が9月1日(2025/94/1)〜9月2日(2025/9/2)の金額を合計する 
 2025/9/1以上の合計から2025/9/3以上の合計を差し引きます。
 =SUMIF(A2:A12,">=2025/94/1",E2:E12)-SUMIF(A2:A12,">=2025/9/3",E2:E12)
 比較演算子(>=:以上)を使っています。
  
 
- 検索条件をセル参照する場合
  
    - G2セルに「りんご」と入力されている場合
    
 =SUMIF(B2:B12,G2,E2:E12)
 検索条件に参照セルのセル番地を入れます。
  
- G2セルに「りんご」と入力されていて、りんご以外の金額を合計する
    
 =SUMIF(B2:B12,"<>"&G2,E2:E12)
 比較演算子(<>:等しくない)は「"」で括り、参照セル番地とを文字列演算子「&」でつなぎます。
  
 
- ワイルドカードと組み合わせる場合
  
    - 商品名に「ん」を含むもの(この例ではりんごとみかん)の金額を合計する
    
 =SUMIF(B2:B12,"*ん*",E2:E12)
 ワイルドカード「*」を利用しています。
  
 
Spill(スピル)が利用できる場合の集計方法
  - スピルはExcel for Microsoft365、Excel2021以降のバージョンで利用できます。
  
- 金額の計算はE2セルに =C2:C12*D2:D12 と入力しています。
 商品名はG2セルに =UNIQUE(B2:B12) と入力しています。
 金額はH2セルに =SUMIF(B2:B12,G2#,E2#) と入力しています。
  
GROUPBY関数が利用できる場合の集計方法
SUMIFS関数:=SUMIFS(合計対象範囲,条件範囲1,条件1,条件範囲2,条件2...)
- And条件で合計する
 Excel2007以降ではSUMIFS関数が使えるようになりました。
 2025/9/1 and りんご の金額の合計を求めます。
 =SUMIFS(E2:E12,A2:A12,"2025/9/1",B2:B12,"りんご")
 セル参照にすると、=SUMIFS(E2:E12,A2:A12,G2,B2:B12,G3) となります。
  
SUMIF関数:=SUMIF(範囲,検索条件,合計範囲)
  - OR条件
  
    - 同一列でのOR条件
    
 商品名が「りんご」または「みかん」の金額を合計する。
- =SUM(SUMIF(B2:B12,{"りんご","みかん"},E2:E12))
 (注)この形式ではセル参照はできません
- =SUMIF(B2:B12,"りんご",E2:E12)+SUMIF(B2:B12,"みかん",E2:E12)
      
  
 
- AND条件
  
    - 複数列でのAND条件
    
 日付が9月1日(2025/9/1)で商品名が「りんご」の金額
- そのままでは計算できないので作業列を使います。
 F2セルに=A2&"_"&B2 と入力してF12セルまでコピーします。
 =SUMIF(F2:F12,"2007/4/1"*1&"_"&"りんご",E2:E12)
 (注)日付のシリアル値にするため"2025/9/1"*1としています。
  
 
SUMPRODUCT関数:=SUMPRODUCT(配列1,配列2,配列3,...)
  - [SUMPRODUCT関数の基本]
  
    - 単価と数量を掛け合わせたものを合計する
 =SUMPRODUCT(C2:C12,D2:D12)
  
 
- [SUMPRODUCT関数の応用]
- OR条件
    
      - 商品名が「りんご」または「みかん」の金額を合計する。
 =SUMPRODUCT((B2:B12="りんご")+(B2:B12="みかん"),E2:E12)
 条件式は「+」(プラス)でつなぎます。(論理和)
  
 
- AND条件
    
      - 日付が4月1日(2025/9/1)で商品名が「りんご」の金額を合計する
 =SUMPRODUCT((A2:A12=DATE(2025,9,1))*(B2:B12="りんご"),E2:E12)
 条件式は「*」(アスタリスク)でつなぎます。(論理積)
  
 
  - 上位3つのセル値を合計します。
  
    - LARGE(B2:B8,{1,2,3})と配列を使って取り出し、SUM関数で合計します。
    
      - =SUM(LARGE(B2:B8,{1,2,3}))
 =SUM({20290,17339,16374})
 =54003
 となります。
  
 
- 下位3つのセル値を合計します。
  
    - SMALL(B2:B8,{1,2,3})と配列を使って取り出し、SUM関数で合計します。
    
      - =SUM(SMALL(B2:B8,{1,2,3}))
 =SUM({10269,11902,13665})
 =35836
 となります。
 
  
スポンサードリンク
よねさんのWordとExcelの小部屋 » 
エクセル関数の技 »  合計する関数の技
 PageViewCounter
 
 Since2006/2/27