[[20260925092732]] 『FILTER関数の「含む」でスピルできますか?』(傘) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『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

両方の式を試してみましたが、C〜E列すべてが合計されてしまい、求める結果ではありませんでした。
(列ごとに合計を出したい)
ですがGROUPBY関数とHSTACK関数は参考になったので、ちょっと考えてみます。
(傘) 2026/09/25(金) 12:01:40

 列毎ならもっと簡単で↓

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