SUMIFS関数とは
複数の条件に一致するセルを検索し、
見つかったセルと同じ行または列にある[合計対象範囲]のセルの数値の合計を求める。
※参考:SUMIFS関数で複数の条件を指定して数値を合計する
■入力方法
SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
・合計範囲 :合計する範囲。
・条件範囲1:条件1に対して検証する範囲。
・条件1 :条件範囲1に適用するパターン。
・条件範囲2:条件2に対して検証する範囲。
・条件2 :条件範囲2に適用するパターン。
実用方法及び、業務でどのように使用したか。
DBやDWHからスプレッドシートにテーブルをインポートし、
テーブルの形でインポートした表の成型・月別集計を行った。
手順
1)BigQueryやTreasureDataからスプレッドシートにテーブルをエクスポートする
テーブル形式でインポートする。
A | B | C | D | |
---|---|---|---|---|
1 | date | id | name | 匹 |
2 | 2022-01-01 | 1 | 犬 | 2 |
3 | 2022-01-03 | 2 | 猫 | 3 |
4 | 2022-02-01 | 3 | 馬 | 4 |
5 | 2022-04-11 | 4 | 羊 | 5 |
6 | 2022-04-11 | 5 | 象 | 3 |
※この表は、Google Spread Sheets内で匹数シート
と名付けているとする。
2)上記とは別のシートで、SUMIFS関数で成型する。
1)でテーブル形式でインポートしたものを、
下記のように、月別で匹数を表示するなどができる。
A | B | C | D | E | |
---|---|---|---|---|---|
1 | 月 | 1月 | 2月 | 3月 | 4月 |
2 | 月別匹数 | 5 | 4 | 0 | 8 |
-
1行目のB列以降のデータ
└B列:2022/01/01
として日付型で格納し、表示形式を1月
としている。
└C列:2022/02/01
として日付型で格納し、表示形式を2月
としている。
└D列:2022/03/01
として日付型で格納し、表示形式を3月
としている。
└E列:2022/04/01
として日付型で格納し、表示形式を4月
としている。
※表示形式>数字>m月
で、表示形式の変更が可能 -
2行目のB列以降のデータ
└B列:=SUMIFS('匹数シート'!$D$1:$D$6, '匹数シート'!$A$1:$A$6, ">=" & B$1, '匹数シート'!$A$1:$A$6, "<=" & DATE(YEAR(B$1), MONTH(B$1)+1, DAY(B$1)-1))
└C列:=SUMIFS('匹数シート'!$D$1:$D$6, '匹数シート'!$A$1:$A$6, ">=" & C$1, '匹数シート'!$A$1:$A$6, "<=" & DATE(YEAR(C$1), MONTH(C$1)+1, DAY(C$1)-1))
└D列:=SUMIFS('匹数シート'!$D$1:$D$6, '匹数シート'!$A$1:$A$6, ">=" & D$1, '匹数シート'!$A$1:$A$6, "<=" & DATE(YEAR(D$1), MONTH(D$1)+1, DAY(D$1)-1))
└E列:=SUMIFS('匹数シート'!$D$1:$D$6, '匹数シート'!$A$1:$A$6, ">=" & E$1, '匹数シート'!$A$1:$A$6, "<=" & DATE(YEAR(E$1), MONTH(E$1)+1, DAY(E$1)-1))
※上記のSUMIFS関数の補足
- 範囲指定の直前に、
'シート名'!
をつけると、別のシートのを参照し、範囲指定をすることができる。
└IMPORTRANGE関数でURLを指定すれば、別のスプレッドシートを参照することも可能。
--https://media.rakumo.com/2022_02_22_3119/ -
">=" & セル名
で、指定した「セル名」以上の値を抽出することができる。(等号、不等号記号はカンマで括り、&
で結合している。) -
DATE(YEAR(B$1), MONTH(B$1)+1, DAY(B$1)-1)
で、B列に格納されている日付の月末を指定することができる。(翌月の前日を表すことができるため。) - セルの絶対参照
└=$A$1
で「A1」を絶対参照して行と列を固定。
└=A$1
で「A1」の行を固定。
└=$A1
で「A1」の列を固定。
※オートフィルを使用する時に便利