こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

sumif の応用的活用 範囲の選択

ある売上明細データがあります。ある果物卸売商で、何月何日バナナが100本売れて単価10円合計10000円得意先山田スーパー など。
これをずらっと1年間抽出したものがあり、そこから、ピボットテーブルで、得意先別(行側・左端)、月別(列側・上部)で一覧表を作ります。
さて、データが追加更新された際、毎回ピボットテーブルを作成(そういったマクロを作成)すれば済むことかもしれませんが、まだ私には手間またはレベルが高すぎるように思います。

それで現在、以下のような方法をとっています。
データ(新しい月)が更新されるとごとに、明細データの原本には、その下に貼り付ける形で、追加していきます。それで、すでに作成したピボットテーブルの右側に、新しい列を作ります。その列のタイトル(上のセル)に201804という年月を入れます。そしてその下には、sumifで、範囲指定は、先ほど張り付けたばかりのデータの上部から下部(例えば、5053行目から6420行目まで。それが2018年4月のデータがある範囲)まで具体的数字を入れて指定します。それで左端の得意先名と、データ上の得意先名とを関連付けた形にして、その月のその得意先に対する合計売上額をその列の各行の値として出してきます。

この方法で行くと、毎回、追加した分の各月の、行数の番号を指定する必要があり、あとで1行追加したらすべてを修正する必要もあります。

簡単に、より一般化された形での、関数の組み方、もしくは関数そのものはありますでしょうか。ピボットテーブルに関連する関数とかありそうですが。

何卒よろしくお願いいたします。

投稿日時 - 2018-04-20 23:55:56

QNo.9490693

困ってます

質問者が選んだベストアンサー

>さて、データが追加更新された際、
>毎回ピボットテーブルを作成(そういったマクロを作成)すれば済むことかもしれませんが、
>まだ私には手間またはレベルが高すぎるように思います。

この行(クダリ)です。

ピボットテーブルを作成するときに
売上明細データの埋まった(埋まる)範囲を指定するわけですが、
今後データが追記されることを想定して、
この範囲(縦方向)を広く定義します。

その後、
今回の例では、
5053行目から6420行目までのデータを追記したら、
ピボットテーブルが表示されている適当なところを右クリックして
更新を選択すれば再集計します。

いかがでしょうか。

投稿日時 - 2018-04-21 10:02:40

お礼

なるほどです。詳細には説明していませんでしたが、例えば、201806などと1列目(月の行)入力した、その右のすべてのセルが空白(またはゼロ)のデータを1000行くらいずつ、201807を1000行、・・・と作っておき、それで最初のピボットテーブルを作成し、あとは、実際に数値が上がってきたときに、201806のところに貼り付けていけば、そのようになるはずですね。まだやっていませんが、有力な方法として、やってみたいと思います。お付き合いいただき、ありがとうございます!

投稿日時 - 2018-04-21 23:52:47

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>後で追加されるかもしれない無限大の行数の範囲まで、
>集計してくれるものなのでしょうか。
はい、そうです。

投稿日時 - 2018-04-25 20:13:33

お礼

そうなんですね!それは知りませんでした。ありがとうございます!

投稿日時 - 2018-04-25 21:38:50

ANo.2

>201806などと1列目(月の行)入力した、
>その右のすべてのセルが空白(またはゼロ)のデータを1000行くらいずつ、
>201807を1000行、・・・と作っておき

このような作業をあらかじめ行っておくことは想定してはいません。
データの埋まった最終行の次行以下、
1列目も含め、全列空欄のままにしておき、
データが増える都度、データ行を追記していくイメージです。

それにより、Pivotテーブル上、
空欄の列、空欄の行が登場しますが、
その行と列は、Pivotテーブル上で非表示にするとか
末尾に移動してから非表示にしてもいいと思います。

投稿日時 - 2018-04-22 14:02:49

お礼

ありがとうございます。ピボットテーブルを集計するさいの実際の定義の仕方がわからないので、そんな風に思ってしまいました。
vlookupだと、参照する表について、ここからここまで、という指定が基本的に必要で、下の方の行について数字を大きくしておいたりする必要があるかと思い、それと同様に、ピボットテーブルでも、最初に参照する表において、セルが入った範囲で集計されるものかと思っていました。セルになにも入っていない行は、その時点で参照されないため、あとで追加しても自動計算しないものかと思っておりました。
その点は気にしなくても、ピボットテーブルというのは、後で追加されるかもしれない無限大の行数の範囲まで、集計してくれるものなのでしょうか。

投稿日時 - 2018-04-25 00:15:09

あなたにオススメの質問