『FILTER関数の「含む」でスピルできますか?』(傘)
A列に日付、B〜D列に重量が入っている、排出ゴミの量をまとめた表があります。
これの月ごとの合計を出したく、下のような式を作りました。
=BYCOL(FILTER(B:.D,IFERROR(MONTH(A:.A)=4,0),0),SUM) (4月分)
この MONTH(A:.A)=4 のところを行方向に月ごとでスピルした式って作れるでしょうか?
SEQUENCE関数とかで試してみたんですが、CALCエラーになりました。
実際はこのくらいであればROW関数とかで12行コピーすればいいだけだし
結果が大きさの違う配列になる式はスピルできないみたいなのをどこかで見た覚えもあるんですが
なんかスピルできそうでもったいないしシチュエーション的によく使いそうな式なので質問してみました。
< 使用 Excel:Microsoft365、使用 OS:Windows11 >
=GROUPBY(
TEXT(A:.A,"m月"),
BYROW(B:.D,LAMBDA(r,SUM(r))),
SUM,,0
)
<表にない月も表示する場合>
=LET(
月,MONTH(A:.A),
値,BYROW(B:.D,LAMBDA(r,SUM(r))),
HSTACK(
SEQUENCE(12)&"月",
MAP(SEQUENCE(12),LAMBDA(m,SUM(FILTER(値,月=m,0))))
)
)
(通行人) 2026/09/25(金) 11:02:14
列毎ならもっと簡単で↓
=GROUPBY(
TEXT(A:.A,"m月"),
B:.D,
SUM
)
(通行人) 2026/09/25(金) 12:10:18
ただ、初めて使ったので知らなかったんですが、GROUPBY関数は必ずどこかの行でソートしてしまうんですね。
4月→3月の並びのままにしたいんですが提示してくれた式だと1月→12月の並びになってしまうので
TEXT関数の所をy年m月にして使うことにしました。
ありがとうございました。
(傘) 2026/09/25(金) 14:31:59
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.