- ベストアンサー
毎日更新される特定のセルの変移を追ったグラフを作りたい。どうすれば?
オークションの収支をつける為に下の様に商品ごとに1行ずつ詳細を入力し 最後にそれぞれの収支をSUMで合計して全体の収支を表示しています。 ---------------------------------------------- <商品名> <仕入れ日> <仕入値> <売れた日> <売値> <収支> 商品(1) … … … 商品(2) … … 商品(3) … … … 全体の収支:[****円](Z9とします。) ----------------------------------------------- 仕入れたり売れたりする毎にZ9は変動しています。 この変移をグラフにあらわしたいのですが、何か良い方法はありませんでしょうか? 更新毎ではなく、日付ごとなどでもいいのですが… まず考えたのは、予め日付を並べた列Aを作っておき、 その隣に =IF(A1=TODAY(),Z9,) などとして一旦表を作ってから グラフに起こそうとしたのですが、どうも上手くいきません。 ---------------------------------- A B 1 2009/11/6 =IF(A1=TODAY(),Z9,) 2 2009/11/7 =IF(A1=TODAY(),Z9,) 3 … ----------------------------------- やはりマクロとやらでないと無理でしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
かなり進んだようですね。 (A) 毎日更新される特定のセルの変移を記録するには、マクロを使うか、手作業になると思います。イベントマクロを使えば、全自動になります。 (B) オークションの収支の記録表に日付が入力されていることから、その日付をキーにして過去の収支を計算することができます。これには、昨日紹介したピボットテーブルと、SUMIF関数を使う方法があります。 B の方法では、収支をグラフ化したい日付が収支の記録表に入力されていることが必要です。 ピボットテーブルの方法では、仕入日や売上日の代わりに収支としてグラフ化したい日をピボットテーブルの集計元に指定すると、意図した日付でグラフになります。グラフ化したい日を表示したくない場合は、ピボットテーブル作成後に、列ごと非表示にしても大丈夫だと思います。 SUMIF関数の方法で、4~9行目のD列に収入の日、E列に売上、B列に支出の日、C列に仕入、A1以下に日付があるとすると、次のような数式で収支の記録を求めることができます。 ---------------------------------- A B 1 2009/11/6 =SUMIF($D$4:$D$9,"<="&A1,$E$4:$E$9)-SUMIF($B$4:$B$9,"<="&A1,$C$4:$C$9) 2 2009/11/7 以下、オートフィルでコピー ----------------------------------
その他の回答 (5)
- Zi-co
- ベストアンサー率46% (23/49)
エクセルバージョンは何でしょうか? $A:$A などは2007では使わないほうがよろしいので $A$1:$A$1000 などと範囲を指定したほうがベターです 固定セルで日々に値が更新される場合の方法を考えてますが 未だ迷路から抜け出せません ↑の方法では入力しておけば、グラフは自動的に追加されますので 最悪その辺りで、ご了承を・・・・
お礼
バージョンは2007です。 >固定セルで日々に値が更新される場合の方法を考えてますが ありがとうございます!それが本当は一番なのですが、 先頭で教えて頂いた方法もこれから実践してみます! 色々とありがとうございます。本当に励みになります…!
補足
補足に失礼します。 お二人の回答を合わせて、なんとか形にする事ができました! (1)これまでのデータから、ピボットテーブルで日毎の収支を集計。 (2)半手入力ではありますが、グラフ用に表を作成し、参照範囲を関数を使ってグラフ化 しました。 固定のセルの変移を追えたり、データ入力ごにグラフを更新してくれるような仕組みづくりがしたかったのですが、私にはもう少し勉強が必要だった様です。 お二人とも、本当にありがとうございました。
- yTerada
- ベストアンサー率60% (6/10)
複数のセル範囲をピボットテーブルで集計して、ピボットグラフを作成すると、更新ごとの収支をグラフにすることができます。Excel2007での手順は、次の通りです。 1.仕入れ日と仕入値、売れた日と売値の2つのセル範囲からピボットテーブルを作成する。 このとき、ページフィールドを1つ指定する。フィールド名は任意。 cf.ページフィールドを指定しないと、集計アイテムを設定できない。 2.仕入値と売値の計算方法を、合計額、累計に設定する。 3.「売値-仕入値」の集計アイテムを列ラベルに追加する。 4.「1900/1/1以降」のような日付フィルタを行ラベルに設定する。 5.作成したピボットテーブルを元に折れ線グラフなどを作成する。 必要に応じて、売値と仕入値のマーカーや線を非表示に設定する。 集計元のセル範囲を自動拡張するようにしておくと、データを追加した際に、ピボットテーブルを更新するだけでグラフを最新の状態にすることができます。
お礼
回答ありがとうございます。 大変分かりやすい方法ですね!早速やってみました。 概ね良い感じで出来たのですが、二つ問題が解消できません… 1つめ:収支の折れ線を、その日ごとではなく前日までの加算にしたいということ 2つめ:仕入れ日を横軸にしているので、物が売れた時に伸びるのは、その商品を"仕入れた日の縦"で、業績の成長を見ることができないこと 全体の収支の伸びを見たいので、少し違うのです…。 もう少し考えて、上手く行き次第また報告させて頂きます! 回答ありがとうございました。
- Zi-co
- ベストアンサー率46% (23/49)
=Z9 じゃまずいですね 手入力にするか、何か工夫が必要です
お礼
手入力しかないですかねえ… もちろんそれで欲しいグラフとしては十分なのです。 学の無い者が色々求めてはいけませんね。難しいです! ありがとうございます。
- Zi-co
- ベストアンサー率46% (23/49)
追伸 =Book1! は、その時のブック名です 名前を付けて保存すると自動変更されます 既にブック名があるならば、そのブック名にしてください
- Zi-co
- ベストアンサー率46% (23/49)
自動追尾式のグラフでどうでしょう? A B 1 2009/11/6 =Z9 2 2009/11/7 3 … 名前を定義します 名前 日付 参照範囲 =$A$2:INDEX($A:$A,COUNTA($A:$A)) 名前 収支 参照範囲 =$B$2:INDEX($B:$B,COUNTA($B:$B)) グラフにするには、データに関係の無いセルをクリックしてグラフウイザードを起動 棒グラフなり折れ線なりを選択して次へ 2/4の系列で追加 「値」 =Book1!収支 「項目軸ラベルに使用」 =Book1!収支 応用としては ○日から○日までグラフ化など色々可能です
お礼
丁寧にありがとうございます。 回答付かないかな・・・と思っていたのでうれしい限りです! これから考えてまたお礼と結果を書かせて頂きます。
お礼
イベントマクロ…近いうちに是非勉強したいと思います! ピボットテーブルより集計して、形になりました。 今回一応の完成にも満足していますが、 なにより考える過程で、お二方に一緒に考えて頂き助言を頂けたことで非常に楽しめました。 本当に感謝しております。 この辺りで質問を締め切らせて頂くこととします。 ありがとうございました。