失礼しました
確かにSUMIFS関数バグってるっぽいですね
=SUMIFS(Sheet1!$B:$B,Sheet1!$A:$A,">=39783",Sheet1!$A:$A,"<39814")
としたらちゃんと150とでるのに
=SUMIFS(Sheet1!$B:$B,Sheet1!$A:$A,">=date(left(A2、4)、right(A2,2),1)",Sheet1!$A:$A,"<date(left(A2、4)、right(A2,2)+1,1)")
としたら
">=date(left(A2、4)、right(A2,2),1)"
を">=39783"と
"<date(left(A2、4)、right(A2,2)+1,1)"
を"<39814"と
評価せずに0と出しますね
だからといって
評価対象部分を切り出して先に計算させておく為に
B5に
=DATE(LEFT(A2,4),RIGHT(A2,2),1)
B6に
=DATE(LEFT(A2,4),RIGHT(A2,2)+1,1)
と入れておいて
=SUMIFS(Sheet1!$B:$B,Sheet1!$A:$A,">=B5",Sheet1!$A:$A,"<B6")
としても結果は0
変わらない始末
こんな事もしてみたのですが
=SUMIFS(Sheet1!B3:B5,text(Sheet1!A3:A5,"yyyymmdd"),=CONCATENATE(A2,"??"))
=SUMIFS(Sheet1!B3:B5,Sheet1!A3:A5,CONCATENATE("=",INDEX(Sheet1!A3:A5*(TEXT(Sheet1!A3:A5,"yyyy")=LEFT(シート2!A2,4)),0)),Sheet1!A3:A5,CONCATENATE("=",INDEX((TEXT(Sheet1!A3:A5,"mm")=RIGHT(シート2!A2,2))*Sheet1!A3:A5,0)))
駄目でした
唯一叶ったのが
A列のデータにC列で
=text(A3,"YYYYMMDD")
としておいて下へフィル
この列を対象に
=SUMIFS(Sheet1!B3:B5,Sheet1!C3:C5,CONCATENATE("=",A2,"??"))
とした時と
同意味の
=SUMIFS(Sheet1!B3:B5,Sheet1!C3:C5,"="&A2&"??")
のみでした
此では確かにあきれ果てますよね
貴殿の真意を汲めず軽率な発言をして申し訳ありませんでした
今後のMSの対応待ちではないでしょうか
早期対応を期待します
因みに計算するだけなら
=SUMPRODUCT((TEXT(Sheet1!$A:$A,"yyyymm")=TEXT(A2,"@"))*Sheet1!$B:$B)
とか
=SUMPRODUCT((VALUE(TEXT(Sheet1!$A:$A,"yyyymm"))=A2)*Sheet1!$B:$B)
とかで出来ますね
お礼
どうもありがとうございます。 年と月を切り分けてSUMIFをやってみましたら反応しました。 SUMPRODUCTを使った事が無いのでこれを機に勉強します。 今後も宜しくお願い申し上げます。