プロが教える店舗&オフィスのセキュリティ対策術

エクセルを使ってデータの管理をしています。
計画と実績のグラフを書きたいのですが、やり方がよく分かりません。

●生データ
エクセルのシートに下記の様なデータが並んでます。

 項目   計画数  実績数  計画日  実績日
 sample1   2    3   10/10  10/11
 sample2   4    3   10/9   10/12
 sample3   5    2   10/10  10/10
  …

計画立案時は、計画日に計画数計上する予定だった。
実際は、実績日に実績数が計上できた。
ということを示しています。

●やりたいこと
下記のような表を作って、グラフ化したい。

 日付  計画数  実績数
 10/9    4    0
 10/10   7    2
 10/11   0    3
 10/12   0    3
  …

各日付毎に、その日に計画されていたのはいくつか。
実際にその日に計上できたのはいくつか。
ということを表にまとめ直したいと思ってます。

詳しい方、ご経験のある方、アドバイス下さい。
何卒よろしくお願いします。

A 回答 (2件)

こんにちは。

maruru01です。

生データがSheet1のA~E列にあるとします。
(1行目が項目名で、データは2行目から)
表をSheet2のA~C列に作成します。
(1行目が項目名で、集計データは2行目から)
A2~にあらかじめ日付を入力しておきます。
(月ごとなら、10/1、10/2・・・・)
B2(計画数)に、

=SUMIF(Sheet1!D$2:D$100,$A2,Sheet1!B$2:B$100)

と入力して、C2(実績数)へコピー。
さらにBC列とも下の行へコピー。
これで、各日付ごとの集計が表示されます。
なお、生データの範囲(2~100行)は適宜変更して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。
できました。

お礼日時:2003/11/10 15:31

VBAで簡単に出来そうなのでやって見ました。


A1:E4に
項目   計画数  実績数  計画日  実績日
 sample1232003/10/102003/10/11
 sample2432003/10/92003/10/12
 sample3522003/10/102003/10/10
とデータとします。
(コード)
VBEの標準モジュールに
Sub test02()
d1 = DateSerial(2003, 10, 1)
dr = Range("a2").CurrentRegion.Rows.Count
For i = 2 To dr
p1 = Cells(i, "D") - d1 + 1
Cells(p1, "G") = Cells(i, "D")
Cells(p1, "H") = Cells(p1, "H") + Cells(i, "B")
p2 = Cells(i, "E") - d1 + 1
Cells(p2, "G") = Cells(i, "E")
Cells(p2, "I") = Cells(p2, "I") + Cells(i, "C")
Next i
End Sub
を貼りつけます。そしてF5で実行します。
(結果)
G1:I31の
G9:I12の部分に
2003/10/9     4
2003/10/107 2
2003/10/113
2003/10/123
となります。
日付を全行データの無い日も出すときはG列日付をフィルハンドルで引っ張っておいてください。
10月を11月でやるときは
d1 = DateSerial(2003, 10, 1)の10を11にしてください。d1はデータとして現われるもっとも過去の日を指定します。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2003/11/10 15:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!