『sumproduct関数内のsum関数で、行ごとの合計をして欲しい』(かんだ)
こんにちは。よろしくお願いします。
下記のような、商品別、日別の販売点数の表があります。
約2年分のデータがあります。商品は100種類くらいです。
A列 | B列 | C列 | D列 | E列 | F列 |
商品名|04/01|04/02|04/03|04/04|04/05|
商品A| 1| 5| 1| 5| 1|
商品B| 5| 0| 0| 0| 0|
商品C| 0| 0| 0| 0| 3|
任意の期間を指定して、販売した商品の種類数を計算したいです。
可能であれば、使い慣れたsumproduct関数を使いたいです。
例えば、期間指定が04/01-04/03ですと、商品Aと商品Bが売れているので答えは2(2種類)を導き出す関数を教えて下さい。
私の知識ですと、
=SUMPRODUCT((B1:F1>=DATE(2024,4,1))*(B1:F1<=DATE(2024,4,3))*(SUM(B2:F4)>0))
という式になります。
sum関数で行ごと(商品別)に合計して0を超える行数を計算して欲しいのですが、結果からみるとsum関数で列ごと(日別)に合計して0を超えるか計算しているようです。
どなたかご教授をお願いいたします。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
=COUNT(0/BYROW(FILTER(B2:F4,(B1:F1>=DATE(2024,4,1))*(B1:F1<=DATE(2024,4,3))),SUM))
(んなっと) 2024/07/29(月) 19:38:23
LAMBDA関数が抜けているからでは? =COUNT(0/BYROW(FILTER(B2:F4,(B1:F1>=DATE(2024,4,1))*(B1:F1<=DATE(2024,4,3))),LAMBDA(a,SUM(a)))) (はてな) 2024/07/29(月) 20:03:20
=COUNT(0/MMULT(B2:F4,TRANSPOSE((B1:F1>=DATE(2024,4,1))*(B1:F1<=DATE(2024,4,3))))) Ctrl+Shift+Enter同時押し もあるかもしれません。 (んなっと) 2024/07/29(月) 20:13:26
んなっと様
BYROW関数の最後のSUMは、そういう意味だったんですね。
理解出来なくてすみません。
後から教えていただいた方ですが、Ctrl+Shift+Enter同時押しはなるべく使いたくありませんので、BYROW関数の方で理解を深めたいと思います。
教えていただき、ありがとうございます。
(かんだ) 2024/07/29(月) 20:22:23
別案です =SUM(N(MMULT(B2:F4,TRANSPOSE((B1:F1>=DATE(2024,4,1))*(B1:F1<=DATE(2024,4,3))))>0)) (´・ω・`) 2024/07/30(火) 09:17:25
(かんだ) 2024/07/30(火) 21:55:29
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.