『=sumifsについて』(ねね)
いつもお世話になっております。
条件付きの集計についてsumifsを使用しています。
データは下記になります。
A列 B列 C列
1 日付 商品名 売上金額
2 4/1 A商品 12000
3 4/16 B商品 8000
4 4/6 C商品 6000
5 4/4 A商品 12000
6 4/16 B商品 8000
7 5/4 A商品 12000
8 5/16 B商品 8000
9 5/6 C商品 6000
10 5/6 C商品 6000
11 5/4 A商品 12000
12 5/16 B商品 8000
13 5/6 C商品 6000
:
:
29 5/25 A商品 10000
集計は
F列 G列
3 2025年4月 2025年5月
4 A商品 12000
5 B商品
6 C商品
F4には=SUMIFS($C$2:$C$29,$A$2:$A$29,$F$3,$B$2:$B$29,$E$4)
と入れましたが、F3の月(2025/4/1)となっているため
4/1分のみの集計になります。
$F$3の所を4/1〜4/30までの期間にしたいです。
=SUMIFS($C$2:$C$29,$A$2:$A$29,">=2025/4/1",$A$2:$A$29,"<=2025/4/30",$B$2:$B$29,$E$4)
としました。
0となってしまうのは何が原因になるのでしょうか。
データの日付のセルの書式設定で「日付、*2012/3/14」
としています。
ほかに注意するべきことはありますでしょうか。
よろしくお願いします。
< 使用 Excel:unknown、使用 OS:unknown >
A列のデータを年まで表示させて確認してはどうだろうか? 少なくともこちらで試した際にはきちんと結果が出ていた。
あと、F4セルの式を =SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*$C$2:$C$29) として右及び下へフィルコピーではどうだろうか?
バージョンが分からないのでスピルは使用していない。 (ねむねむ) 2025/12/04(木) 13:17:41
もし、SUMIFS関数で、ことであれば =SUMIFS($C$2:$C$29,$A$2:$A$29,">="&F$3,$A$2:$A$29,"<="&EOMONTH(F$3,0),$B$2:$B$29,$E4) だろうか? (ねむねむ) 2025/12/04(木) 13:25:38
>データの日付のセルの書式設定で「日付、*2012/3/14」
表示形式(書式)ではなく「型」が重要です
文字列として入力された値は表示形式を変えても
「型」は文字列のままです
検索条件が">=日付"等は日付範囲の型が文字列は無視されます
(単一の条件("日付")の時は日付とみなされる「文字列」でも対象になります)
(はてな) 2025/12/04(木) 13:30:33
はてなさん、確かにそちらが原因のようですね。
なお、データの日付が文字列でもSUMPRODUCT関数の式のほうは結果が出ます。 (ねむねむ) 2025/12/04(木) 13:33:49
条件を増やしたいです。
商品にはそれぞれA11,A24,C2,C8,E3,E6の型番があります。
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*$C$2:$C$29) の後に =SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*$C$2:$C$29*($D$2:$D$29="E??")*$C$2:$C$29) を追加したのですが、反映されませんでした。
条件追加をご教授いただきたくよろしくお願いします。
(ねね) 2025/12/04(木) 16:00:57
SUMPRODUCT関数の場合には基本、単純な比較しかできずワイルドカードは使えない。
なので ($D$2:$D$29="E3")*($D$2:$D$29="E6") と抜き出したい型番を一つずつ指定するか、あるいはEのもの全てであれば (LEFT($D$2:$D$29,1)="E") のようにする。 (ねむねむ) 2025/12/04(木) 16:17:15
(LEFT($D$2:$D$29,1)="E")はどこに追加すればよろしいでしょうか。
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(I$3,"yyyymm"))*($B$2:$B$29=$E4)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*$C$2:$C$29)*(LEFT($D$2:$D$29,1)="E")
0になってしまいます。
(ねね) 2025/12/04(木) 16:45:50
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(I$3,"yyyymm"))*($B$2:$B$29=$E4)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
こちらのほうになるが TEXT(I$3,"yyyymm") は TEXT(F$3,"yyyymm") では? (ねむねむ) 2025/12/04(木) 16:59:08
TEXT(F$3,"yyyymm")です。 すいません。
教えていた場所に挿入して解決できました。
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(I$3,"yyyymm"))*($B$2:$B$29=$E4)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
いろいろとありがとうございました。
(ねね) 2025/12/04(木) 17:29:56
A商品、B商品、C商品・・・・F商品まであります。
A商品とD商品の合計を求めたいのですが、プラスで教えていただいた式を足していけばいいでしょうか。
E列 F列 G列
3 2025年4月 2025年5月
4 A商品 12000
5 B商品
6 C商品
7 D商品
8 E商品
9 F商品
10 A・D商品
11 A・D・F商品
F10には
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)+SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E7)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
A・D・F商品の場合も追加でいいでしょうか。
3商品の合計がうまくいかないです。
よろしくお願いします。
(ねね) 2025/12/10(水) 12:57:56
一応3商品の場合、 =SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E4)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)+SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E7)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)+SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*($B$2:$B$29=$E9)*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29) でも可能だが商品名以外の条件が同じであり、またSUMPRODUCT関数で複数条件を扱う場合、AND条件が*、OR条件が+で表せるため
A・D商品(F10セル)は =SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*(($B$2:$B$29=$E4)+($B$2:$B$29=$E7))*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29) で、A・D・F商品(F11セル)は =SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*(($B$2:$B$29=$E4)+($B$2:$B$29=$E7)+($B$2:$B$29=$E9))*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29) で表せれる。 (ねむねむ) 2025/12/10(水) 13:28:42
ご回答ありがとうございます。
2商品の式は回答が返ってきましたが
3商品の式を入れたのですが、#VALUE!と
なってしまいました。
表と集計が変わってしまったので
再度、表を書きます。
A列 B列 C列 D列 E列
1 日付 商品名 売上金額 タイプ 営業
2 4/1 A商品 12000 A14 伊藤
3 4/16 B商品 8000 A14 鈴木
4 4/6 C商品 6000 A14 山田
5 4/4 A商品 12000 C22 望月
6 4/16 B商品 8000 C22 木戸
7 5/4 A商品 12000 E21 鈴木
8 5/16 B商品 8000 E21 山田
9 5/6 C商品 6000 C22 伊藤
10 5/6 C商品 6000 E21 鈴木
11 5/4 A商品 12000 E21 山田
12 5/16 B商品 8000 A14 望月
13 5/6 C商品 6000 A14 木戸
:
:
29 5/25 A商品 10000 A14 望月
集計は
F列 G列 H列 I列
3 担当者 2025年4月 2025年5月
4 伊藤 A・D商品のみ
5 鈴木 A・D商品のみ
6 山田 A・D商品のみ
7 望月 A・D商品のみ
8 木戸 A・D商品のみ
H4に伊藤さんのAD商品のみの合計を出したいです。
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))*(($B$2:$B$29=$E4)+($B$2:$B$29=$E7)+($E$2:$E$29=$F4))*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
こちらで大丈夫でしょうか。
(ねね) 2025/12/10(水) 17:40:40
希望する回答ではありませんが、コメントしておきます。
表を提示するときは、行の最初を半角スペースで始めるとレイアウトが崩れにくいですよ。
A B C D E F G H I
1 日付 商品名 売上金額 タイプ 営業
2 4月1日 A商品 12,000 A14 伊藤
3 4月16日 B商品 8,000 A14 鈴木 担当者 2025年4月 2025年5月
4 4月6日 C商品 6,000 A14 山田 伊藤 A・D商品のみ
5 4月4日 A商品 12,000 C22 望月 鈴木 A・D商品のみ
6 4月16日 B商品 8,000 C22 木戸 山田 A・D商品のみ
7 5月4日 A商品 12,000 E21 鈴木 望月 A・D商品のみ
8 5月16日 B商品 8,000 E21 山田 木戸 A・D商品のみ
9 5月6日 C商品 6,000 C22 伊藤
10 5月6日 C商品 6,000 E21 鈴木
11 5月4日 A商品 12,000 E21 山田
12 5月16日 B商品 8,000 A14 望月
13 5月6日 C商品 6,000 A14 木戸
…
29 5月25日 A商品 10000 A14 望月
提示された式。
=SUMPRODUCT(
(TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))
*(($B$2:$B$29=$E4)+($B$2:$B$29=$E7)+($E$2:$E$29=$F4))
*(LEFT($D$2:$D$29,1)="E")
*$C$2:$C$29)
> H4に伊藤さんのAD商品のみの合計を出したいです。 期間とかタイプとかは不問ですか?出発点が曖昧です。
> (TEXT($A$2:$A$29,"yyyymm")=TEXT(F$3,"yyyymm"))
F$3には"担当者"ですけど?
> *(($B$2:$B$29=$E4)+($B$2:$B$29=$E7)+($E$2:$E$29=$F4)) $E4,$E7は何が入っているんですかね。確認してますか? 式の意味を理解してますか? AND条件は掛け算で実現できますし、Or条件は加算で実現できます。 これだと3つの条件のOR条件となりますが、そういう意図ですか?
> *(LEFT($D$2:$D$29,1)="E") タイプは何か関係するんですか?条件には一切の説明がないですが。
丸投げじゃなくて、ご自分でひとつずつ確認して進んで下さい。
(xyz) 2025/12/10(水) 21:46:19
A B C D E F G H I
1 日付 商品名 売上金額 タイプ 営業 A商品
2 4月1日 A商品 12,000 A14 伊藤 D商品
3 4月16日 B商品 8,000 A14 鈴木 担当者 2025年4月 2025年5月
4 4月6日 C商品 6,000 A14 山田 伊藤 A・D商品のみ
5 4月4日 A商品 12,000 C22 望月 鈴木 A・D商品のみ
6 4月16日 B商品 8,000 C22 木戸 山田 A・D商品のみ
7 5月4日 A商品 12,000 E21 鈴木 望月 A・D商品のみ
8 5月16日 B商品 8,000 E21 山田 木戸 A・D商品のみ
9 5月6日 C商品 6,000 C22 伊藤
10 5月6日 C商品 6,000 E21 鈴木
11 5月4日 A商品 12,000 E21 山田
12 5月16日 B商品 8,000 A14 望月
13 5月6日 C商品 6,000 A14 木戸
…
29 5月25日 A商品 10000 A14 望月
条件は
?@該当月(日付はすべて)
?A担当者
?B商品 (A商品、D商品)
?C商品のタイプ(Aで始まる、Cで始まる、Eで始まる)
=SUMPRODUCT((TEXT($A$2:$A$29,"yyyymm")=TEXT(H$3,"yyyymm"))*(($B$2:$B$29=$G1)+($B$2:$B$29=$G2)+($E$2:$E$29=$F4))*(LEFT($D$2:$D$29,1)="E")*$C$2:$C$29)
こちらで間違えがないでしょうか。
商品2点と担当者の条件を同じ()内で足して大丈夫でしょうか。
よろしくお願いします。
(ねね) 2025/12/11(木) 10:23:42
>商品2点と担当者の条件を同じ()内で足して大丈夫でしょうか。 商品と担当者が一致した場合 TRUE+FALSE+TRUE=2 になり値が2倍 商品一致して担当者が不一致の 場合は TRUE+FALSE+FALSE=1 担当者が不一致でも加算します ((条件範囲1=条件1)+(条件範囲1=条件2))*(条件範囲2=条件3) 条件範囲1(どちらか一方)と条件範囲2が共にTRUEのときだけ (TRUE+FALSE)*TRUE (1+0)*1=1 で条件を満たした事になります (はてな) 2025/12/11(木) 11:04:44
条件範囲が違うの同じ()から外しました。
求める数値になりました。
ありがとうございます。
(ねね) 2025/12/11(木) 11:58:32
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.