Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
合計する関数の技:Excel関数の技
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