[[20140818124150]] 『日付をカウントしてグラフにする』(あはは) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『日付をカウントしてグラフにする』(あはは)

下記のようなリストがあります。(未完成のため空欄ありだが、今後情報が追加される)

開始日 終了日
8/1   8/8
8/1   8/7
8/7   8/10
8/3   空欄    
空欄   空欄 
8/5   8/5
8/5   8/10

日付を横軸に、件数を縦軸にして折れ線グラフを作成したい。
(開始日のグラフ&終了日のグラフ 合計2つのグラフを作成したい)

1.横軸の日付は、8/1なら件数(縦軸)は2 のように累計を表示する
2.空欄は、後で追加されてもグラフに数値が反映されるようにしたい

単純な統計のグラフ等しか作成したことがない為、日付・累計・今後の追加に対応・・・
どの条件も初めての試みのため、どのように作成すれば良いか解らず困っています。
よろしくお願いします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


一旦、全日付が並んだ別シートを用意し、これをカウントアップした表を作成してみては?

 Sub test()
    Dim i As Long
    Dim j As Long
    Dim d As Date
    Dim d1 As Date
    Dim d2 As Date
    Dim dSt As Date
    Dim dEd As Date

    dSt = CDate("2014/8/1")
    dEd = CDate("2014/8/31")

    For d = dSt To dEd
        j = d - dSt + 2
        Sheets(2).Cells(j, 1).Value = d
    Next d

    For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A").Value = "" Then
            d1 = dSt
        Else
            d1 = Cells(i, "A").Value
        End If
        If Cells(i, "B").Value = "" Then
            d2 = dEd
        Else
            d2 = Cells(i, "B").Value
        End If

        For d = d1 To d2
            j = d - dSt + 2
            Sheets(2).Cells(j, 2).Value = Sheets(2).Cells(j, 2).Value + 1
        Next d
    Next i
End Sub
(???) 2014/08/18(月) 14:21

シートを増やすのはNGとの事でした・・
色々調べてみると、グラフには累計の機能が内容なので
作業列を作って関数で対応できれば理想的です。

作成して頂いたコードは、日付が8/1〜8/31に対応してくれるものでしょうか。
別件で利用できそうなので、内容を理解し応用出来るように勉強させて頂きたいと思います。

ありがとうございました。
(あはは) 2014/08/18(月) 16:25


別シートがNGならば、作業列を2列用意して、同じロジックで対応できますね。
Sheets(2). を消して、列番号の1とか2を、別の列に変えれば良いです。
(???) 2014/08/18(月) 16:30

ピボットグラフではだめなのでしょうか?
更新ボタンを押さないと更新しないので、「後で追加されてもグラフに数値が反映されるよう」の条件に当てはまりませんか?
(さとう) 2014/08/18(月) 18:15

返答が遅れましたが、ピボットで上手くいきました。
お二人ともありがとうございました!!
(あはは) 2014/08/22(金) 10:08

コメント返信:

[ 一覧(最新更新順) ]


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