[[20251105130604]] 『年月別に日付を集計したい』(こう) ページの最後に飛ぶ

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

| 全文検索 | 過去ログ ]

 

『年月別に日付を集計したい』(こう)

Sheet1のA列に複数の日付のデータがあるとします。日付がブランクのセルもあります。Sheet2に年月別に表を作成し、そこにShee1の日付を集計(月別にカウント)する数式をご教示ください。
<Sheet1>
2025/1/2
2025/1/10
2025/1/20
2025/2/1
2025/3/5
2025/3/9
2025/3/15
2025/3/30



<Sheet2>
2025年|1月|2月|3月|
集計  |3|1|4|

< 使用 Excel:Excel2019、使用 OS:unknown >


Sheet2の月数は数値を入力後、表示形式で「月」が表示されているとします。

Sheet2!B2: =SUMPRODUCT((MONTH(Sheet1!$A$1:$A$8)=B$1)*1)

年は考慮していません。

(メジロ) 2025/11/05(水) 13:27:57


ありがとうございます。複数年あるため、Sheet2で指定する年を考慮した場合をどうなりますでしょうか。

(こう) 2025/11/05(水) 13:35:19


 Sheet2の「2025年」や「1月」とかは見た目そのままの文字列だとする。

 B2:=SUMPRODUCT((TEXT(Sheet1!$A$1:$A$100,"yyyy年m月")=$A$1&B1)*1)
 右にフィルコピー
(おそ松さん) 2025/11/05(水) 13:45:33

メジロさんもおそ松さんも、なんでわざわざSUMPRODUCTを使うのでしょうか?
SUMで十分ですよね? そこに何か意図があるのでしょうか?

(素人の疑問) 2025/11/05(水) 14:20:47


 非常に大雑把な説明だが。

 配列相手の計算でSUM関数とSUMPRODUCT関数の結果が同じになるのはスピル機能が有効なバージョンのみ。

 2019はスピル機能がないのでSUM関数では式を入力したのと同じ行のみ計算の対象となる。
 例
 B2:=SUM((TEXT(Sheet1!$A$1:$A$100,"yyyy年m月")=$A$1&B1)*1)
 だと
 B2:=SUM((TEXT(Sheet1!$A$2,"yyyy年m月")=$A$1&B1)*1)
 の結果にしかならない。
(ねむねむ) 2025/11/05(水) 14:35:21

みなさま、ありがとうございます。参考にいたします。
(こう) 2025/11/05(水) 14:42:26

ねむねむさん

なるほどそうでしたか。
詳しい解説有難うございました。

(素人の疑問) 2025/11/05(水) 14:55:12


ねむねむ さん、いつもフォローありがとうございます。

素人の疑問さんへ
ねむねむさんほど詳しくは考えずに、SUMPRODUCT関数での案を書き込みました。
参考程度ですが、配列数式にすればSUM関数で求まります。

Sheet2!B2: =SUM((MONTH(Sheet1!$A$1:$A$8)=B1)*1)

式を確定するときに「Ctrl + Shift + Enter」を同時押しします。
式の前後が{{}」で囲まれます。
(メジロ) 2025/11/05(水) 15:19:41


メジロさん

追解説有難うございました。配列数式にすればSUM関数でもいけるんですね。
365を使っていると、以前のバージョンの動きが分からなくなります。
単なる知識不足ではありますが・・・。

(素人の疑問) 2025/11/05(水) 15:31:31


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.