- 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! となります。

- 引数にセル範囲を指定した場合
数値セルが計算され、空白セル、論理値、文字列のセルは無視されます。
=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