- ベストアンサー
エクセルを使った集計方法
エクセルを使ってデータの管理をしています。 計画と実績のグラフを書きたいのですが、やり方がよく分かりません。 ●生データ エクセルのシートに下記の様なデータが並んでます。 項目 計画数 実績数 計画日 実績日 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 … 各日付毎に、その日に計画されていたのはいくつか。 実際にその日に計上できたのはいくつか。 ということを表にまとめ直したいと思ってます。 詳しい方、ご経験のある方、アドバイス下さい。 何卒よろしくお願いします。
- みんなの回答 (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行)は適宜変更して下さい。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAで簡単に出来そうなのでやって見ました。 A1:E4に 項目 計画数 実績数 計画日 実績日 sample1 2 3 2003/10/10 2003/10/11 sample2 4 3 2003/10/9 2003/10/12 sample3 5 2 2003/10/10 2003/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/10 7 2 2003/10/11 3 2003/10/12 3 となります。 日付を全行データの無い日も出すときはG列日付をフィルハンドルで引っ張っておいてください。 10月を11月でやるときは d1 = DateSerial(2003, 10, 1)の10を11にしてください。d1はデータとして現われるもっとも過去の日を指定します。
お礼
ありがとうございました。
お礼
ありがとうございました。 できました。