[[20251204123752]] 『=sumifsについて』(ねね) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『=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

ねむねむさん、はてなさん
ご確認ありがとうございます。
使用した事がないですが、SUMPRODUCT関数で
当てはめてみました。
間違えなく結果が出てきました。
一つ関数を使用できるようになりました。
ありがとうございます。
(ねね) 2025/12/04(木) 14:34:09

ねむねむさん、はてなさん
追加で教えてください。

条件を増やしたいです。
商品にはそれぞれ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

各商品の合計結果を足せば良いのでは?
(合計) 2025/12/10(水) 13:38:29

ねむねむさん、

ご回答ありがとうございます。
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


(xyz)さん、
申し訳ございませんでした。
また、データを見やすくしていただきありがとうございます。
すみません。整理します。
         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.