日時データから日付ごとの集計(UNIQUE,SUMIFS,GROUPBY)
𝕏(旧Twitter)で出題したエクセル数式問題です。
そこから、日付ごとの合計を算出する問題です。
𝕏(旧Twitter)の出題ポスト
日時データより日別合計を算出する。
この問題って既出?ですかね。普通にありがちな問題です。
D列への日付のユニー化と日付ごとの合計。
最近は関数も増えているので、いろいろな方法がありますよね。
添付のように一発スピルにも挑戦ですかね。

𝕏(旧Twitter)の回答ポスト
エクセルの技術の問題というより、考え方の問題かなと。
こういう基本問題は、言ってみれば公式を覚えるようなものだと思います。
まずは基本を知らないと、応用も何もないですから…
日付のユニークデータ作成方法を考えましょう。
もちろん作業列使ってください。
日時の基本は、整数部分は日で小数以下が時分です。
つまり整数部分だけ取り出せば日になることが分かります。
もちろん、YEAR,MONTH,DAY関数を使うという手もありです。
=INT(A2)
これが日付です。もちろん以下でも良いです。
=DATE(YEAR(A2),MONTH(A2),DAY(A2))
この数式を16行までドラッグコピーします。
これで日付の一覧が完成です。
これは方法が複数あり、かつ、説明が大変なので、既存ページの説明で勘弁してください😅
「重複削除しユニークデータ作成」
https://excel-ubara.com/excel2/EXCEL317.html
ここまでできれば、E列にSUMIF(S)関数で集計できます。
先程の日時を日付に変換した列(仮にC列)を条件範囲にして、B列を合計すればよいですね。
=SUMIFS(B2:B16,C2:C16,D2)

本当にスピルは便利ですよね。使えば使うほど便利さがわかってくると思います。
そんな中で今回はUNIQUE関数です。
名前の通り、ユニークデータを作成してくれます。
先程のINT関数と組み合わせれば、一発でユニークな日付の一覧が作成できます。

あれ、今回は日時を日付にした作業列が無いぞ、どうしたら良いのだろう…
そうですね、先の2019以前のやり方では、C列で日付変換したのでそれを条件にできましたが、それがありません。
もちろん基本に戻ってC列に作業列を追加するというのも正しい対処方法です。
ここで、1日の範囲を考えましょう。
ある日の1日の範囲というのは、
指定日の0時以上、かつ、指定日の翌日の0時未満
指定日の翌日の0時 > 対象日 >=指定日の0時
ということです。
SUMIF(S)やCOUNTIF(S)での条件指定は難しいですよね。
完成した数式をみると簡単そうなのですが、いざ作ろうとすると、ちょっと手が止まってしまうかもしれません。
以下も参考にしてください。「SUMIF関数」
https://excel-ubara.com/excel1/EXCEL530.html

「合計範囲」「条件範囲」
これらはセル範囲でなければならないのです。
配列ではダメなんですね。
INT(A2:A16)
これはセル範囲ではなく配列です。
なのでエラーになってしまうのです。
本当にこの仕様だけはどうにかしてもらいたい…

超便利な超優秀な関数が追加されています。
GROUPBY関数です。
UNIQUE関数+SUMIFS関数=GROUPBY関数
こんな感じで考えてもらえれば良いです。
https://excel-ubara.com/excel1/EXCEL694.html
「PIVOTBY関数」
https://excel-ubara.com/excel1/EXCEL695.html
たったこれだけでできてしまうのです。どうです、便利でしょ。
引数が8個もあるので、細かい使い方をみていくと迷子になってしまうかもしれないので注意してね。
単純に今回のような使い方なら、そんなに難しくはないと思います。

この数式のなかの第3引数、
,SUM,
この部分秀逸ですよね。
この引数は function(関数)を指定します。
これについては以下を参照してください。
「イータ縮小ラムダ(eta reduced lambda)」
https://excel-ubara.com/excel1/EXCEL696.html
✅2019までの非スピルバージョン
✅2021以降のスピル対応
✅365の最新関数
この3通りでのやり方を説明しました。
もちろん、方法や数式はこの他にも多数ありますので、良い方法を思いついたら実際にやってみてください。
同じテーマ「ツイッター出題回答 」の記事
数列内の連続偶数のみ順序を入れ替える
ランクによりボイントを付ける(同順位はポイントを分割)
記号を繰り返してグラフ作成(10単位で折り返す)
Excel関数の引数を省略した場合について
日時データから日付ごとの集計(UNIQUE,SUMIFS,GROUPBY)
シートコピー後のアクティブシートは何か
ByRef引数の型が一致しません。
シートのActiveXチェックボックスの指定方法
列全体を指定する時のRangeとColumnsの違い
スピルのゴーストの範囲を選択するVBA
列幅不足による「####」表示を検知するVBA
新着記事NEW ・・・新着記事一覧を見る
セル数式における「再帰」の必要性|エクセル雑感(2025-11-10)
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算|エクセル関数応用(2025-11-10)
配列を自在に回転させる数式|エクセル関数応用(2025-11-09)
非正規化(カンマ区切り)の結合と集計:最適な手法は?|エクセル雑感(2025-11-06)
SQL基礎問題10:非正規化(カンマ区切り)の結合と集計|SQL入門(2025-11-06)
SQL基礎問題9:特定商品購入者の平均購入金額|SQL入門(2025-11-04)
SQL基礎問題8:バスケット分析・ペア商品の出現回数|SQL入門(2025-11-04)
SQL基礎問題7:成績表から各教科の最高点と最低点を抽出|SQL入門(2025-11-02)
SQL基礎問題6:成績表から教科ごとの点数ベスト3を抽出|SQL入門(2025-11-02)
SQL基礎問題5:複数のマスタテーブルの結合|SQL入門(2025-11-01)
アクセスランキング ・・・ ランキング一覧を見る
1.生成AIパスポート試験 練習問題(四肢択一式)|生成AI活用研究
2.最終行の取得(End,Rows.Count)|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.RangeとCellsの使い方|VBA入門
7.FILTER関数(範囲をフィルター処理)|エクセル入門
8.日本の祝日一覧|Excelリファレンス
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.セルのクリア(Clear,ClearContents)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.
