質問: excelで日付別の集計を取るやり方 実際の内容とは違いますが例えとして、 添付の画像のように、a列に日付が並んでいます。注文が入り次第下に追記していくので日にちはランダムです。 b列に商品名がそれぞれ並びます。 ここからが質問で、 上記シートの隣に集計用シートを作りたいと思っています。 集計用シートでは、日付が1列にカレンダーのように並んでいて、そこに商品の数を拾って出したいと思っています。 縦軸にカレンダー(日付) 横軸にa,b,c,d それぞれ日毎の数量をカウントするようにしたいです。 どのような関数、操作になりますでしょうか? 初級者のため、易しく教えていただければ幸いです。 よろしくお願いします。
回答: 算式で対応してみました。 ア.a列の日付をコピーし、d列に貼り付けます。e列には入力が無いとします。 イ.d列の日付の一つをクリックして、データを昇順に並べ替えます。 ウ.そのまま、データタブ>重複の削除を行います。重複の削除ダイアログ でokします。d列の重複が削除されます。 エ.セルe1="a"、セルf1="b"、セルg1="c"、セルh1="d" を入力します。 オ.セルe2に、=sumproduct(($a$2:$a$13=$d2)*($b$2:$b$13=e$1)) と入力します。$a$13、$b$13の「13」はデータの最終行に当たります。 実際のデータに合わせてください。 カ.この算式をセルe2:h7にコピーします。 コピーの仕方は、セルe2に算式を入力した後、そのままセルe2:h7を 選択し、ファンクションキーf2で編集モードにし、ctrlキー+enterキー とすれば速いでしょう。必ずこうする必要はありません。 算式の意味は、sumproduct関数を使って、表側と表頭に一致する個数を数えています。表側と表題に一致すれば、「1」が帰ってくるので、それを加算しています。「$」を使って、コピーしても表題と表側が動かないようにしています。 関数を使いたくないのは、日付が増えた時(減ったときも)、同じ操作が必要になるからです。最終行を自動的に感知するようにできなくもないですが、算式が複雑になるのと、質問の主旨から外れると思うので省略します。(忘れたのが本音です) 前回回答のピボットも更新については、同じ様な意味合がありますが、元データを挿入タブ>テーブルで「テーブル」として扱えば、ピボットの更新はかなり楽になります。 ご参考に。