Excel集計表の作成方法とマクロ、VBAの活用
- Excelの集計表の作成方法について教えてください。Accessから出力したデータ(日別、作業別、その件数)を一覧表に変換したいです。マクロやVBAを使ってボタン1つで実行できるようにしたいです。
- Excel集計表作成の手順とは?Accessから出力したデータを元に日別、作業別、件数の一覧表を作成したいのですが、どうすればいいでしょうか?マクロやVBAを使用して効率化したいです。
- Excel集計表作成の方法を教えてください。Accessからのデータを元に日別、作業別、件数の一覧表を作成したいです。マクロやVBAを使って簡単に作成できる方法があれば教えてください。
- ベストアンサー
Excel 集計表の作成
Excelの集計表の作成について教えてください。 Accessから出力したデータ(日別、作業別、その件数)の一覧表を作りたいと思っています。 今のところ、このような状態になっています ↓↓ A B C 1 日付 作業名 件数 2 1日 作業A 100 3 1日 作業B 100 4 2日 作業A 100 コレをこのような状態に変えたいんです ↓↓ A B C D 1 日付 作業A 作業B 作業D 2 1日 100 100 50 3 2日 100 100 50 (行→日にち 列→作業名) ボタン1つで出来るようにしたいのでマクロ、VBAを使用したいです。 どなたかお知恵を貸していただけないでしょうか。
- midoriramram
- お礼率78% (125/159)
- オフィス系ソフト
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 以下のマクロで、お試しください。 データシートをActiveにしてください。 1行が見出し、A列の日付は日付順にソートされているとして、結果は「Sheet2」へ展開されます。 Const MAXCOL As Integer = 256 Type rWORK NM As String End Type Dim tWORK() As rWORK Dim WorkCnt As Integer ' Type rDATE NM As String CNT(MAXCOL) As Long End Type Dim tDATE() As rDATE Dim DateCnt As Integer ' Sub 集計表() Dim wR As Long Dim wC As Integer Dim ckDate As String Dim wI As Integer Dim xI As Integer Dim c As Range Dim eFlg As Boolean Dim wsht2 As Worksheet ' Application.ScreenUpdating = False Set wsht2 = Worksheets("Sheet2") Erase tDATE, tWORK ckDate = "": DateCnt = 0: WorkCnt = 0 ' With ActiveSheet wR = .Range("A" & Rows.Count).End(xlUp).Row For Each c In .Range("A2:A" & wR) '日付チェック及び設定 If ckDate <> c.Value Then ckDate = c.Value DateCnt = DateCnt + 1 ReDim Preserve tDATE(DateCnt) tDATE(DateCnt).NM = c.Value End If ' '作業名チェック及び設定 eFlg = False For wI = 1 To WorkCnt If tWORK(wI).NM = c.Offset(0, 1) Then tDATE(DateCnt).CNT(wI) = c.Offset(0, 2) eFlg = True Exit For End If Next If eFlg = False Then WorkCnt = WorkCnt + 1 ReDim Preserve tWORK(WorkCnt) tWORK(WorkCnt).NM = c.Offset(0, 1) tDATE(DateCnt).CNT(WorkCnt) = c.Offset(0, 2) End If Next ' '展開 wsht2.Cells(1, 1) = "日付" For xI = 1 To WorkCnt wsht2.Cells(1, xI + 1) = tWORK(xI).NM Next wR = 1 For wI = 1 To DateCnt wR = wR + 1 wsht2.Cells(wR, 1) = tDATE(wI).NM wC = 1 For xI = 1 To WorkCnt wC = wC + 1 If tDATE(wI).CNT(xI) > 0 Then wsht2.Cells(wR, wC) = tDATE(wI).CNT(xI) End If Next Next End With Application.ScreenUpdating = True End Sub
その他の回答 (1)
- don9don9
- ベストアンサー率47% (299/624)
ピボットテーブルではダメなんですか?
お礼
回答ありがとうございます。 ピボットテーブルは最初に考えたんですけど、表の様式が既に決まっており、ピボットテーブルで作成すると更に様式変更の作業が発生するためできません。
関連するQ&A
- 1~31日までの集計表を作成したのですが、別シートに日付ごとに
1~31日までの集計表を作成したのですが、別シートに日付ごとに 品名あ・い・うの集計と品名ああ・いい・ううの集計を分けたいのですが、 どのようにすれば良いでしょうか? (品名を分けて集計させる事は出来たのですが、日付を指定させるのに困っています) A B C 1 日付 品名 価格 2 1日 あ 10 3 1日 い 20 4 1日 ああ 100 5 2日 う 30 6 2日 ああ 100 7 2日 うう 300 8 3日 い 20 9 3日 あ 10 10 3日 いい 200 11 3日 うう 300
- ベストアンサー
- オフィス系ソフト
- ★★エクセルでの集計★★
エクセルの集計の方法で以下の内容に対応するものを教えてください。 例えば、単純な集計表で縦のAに「日付」、Bに「営業担当」、Cに「集客お客様名」のような表があり、表欄外に担当別に何月何日に何組のお客様を集客したのかを集計したのですがどの様にすればよいのか分かりません。 集客日と営業担当の2つの条件を満たした数の集計となると思うのですが・・・。 よろしくお願い致します。
- ベストアンサー
- その他(ソフトウェア)
- エクセルのデータを利用して集計表(1日ごと)をつくりたい
エクセルに下記のような入力データがあります。 (AやBは品番が入ります) 6月1日 A 東京 バス 6月1日 B 大阪 車 6月1日 A 東京 車 6月2日 C 京都 バス 6月2日 D 京都 車 ¦ ¦ 6月30日 A 大阪 車 これを、 日にちごとに次のような表で集計したいです。 (集計表は様式が決まっていて、エクセルで作成されている) 『車』 東京 大阪 京都 A ○個 ○個 ○個 B ○個 ○個 ○個 C ○個 ○個 ○個 『バス』 東京 大阪 京都 A ○個 ○個 ○個 B ○個 ○個 ○個 C ○個 ○個 ○個 このとき、日にちごとのエクセルシート (2007.6.1シート ~~ 2007.6.30シートまで) 30シートで集計することは可能でしょうか? 面倒でも一度作ってしまえば、 来月からも、入力データを変更するだけで、 集計は可能かと思ったのですが・・・ 日付ごとのシートにしたときに、 どのような条件で集計すればよいのかわからなくなってしまいました。 エクセル初心者で申し訳ないですが、教えていただけますか? よろしくお願いします。 ※ちなみに、ワードの様式(集計表)へ差し込んでの作成は 難しい(面倒でしょうか?)
- ベストアンサー
- オフィス系ソフト
- エクセルです。データ集計をしたいのですが困っています。
エクセル初心者です。 会社で社員各々の作業状況をまとめる表を作成したいのですが、マクロなどまったく分からないので行き詰っていますどなたか助けてください。 以下のような表をつくりたいと考えています。 物1・物2は物件名です。 作1・作2・作3は物件に対する作業内容です。 あ・い・うは担当者名です。 ■シート1(会社全体の作業状況) A B C D E F 1 11月 1日 2日 3日 4日 2 物1 作1 あ あ 3 作2 い い 4 作3 あ う う 5 物2 作2 う う あ 6 作3 あ あ い い ■シート2(担当者"あ"の作業状況結果) A B C D E F 1 1日 2日 3日 4日 2 物1作1 物1作1 物2作2 3 物1作3 物2作3 4 物2作3 といった感じです。 ■シート1で物件名・作業内容・担当者を入力したら各担当者別シートで日別で作業内容が表示できるとうれしいのですが・・・ ちなみに物件に対しての作業数はまちまちで、物件ごとの行数は決まっていません。行数を揃えないと無理でしたら作業数5行で間に合う感じです。 この内容でうまくお伝えできているか不安ですが、、、 どうぞよろしくお願いします。
- 締切済み
- Windows XP
- 集計表に毎日お客様からの問い合わせ内容をアルファベットで分類分けして入
集計表に毎日お客様からの問い合わせ内容をアルファベットで分類分けして入力しています。 A列より順番に A B C D E 日付 受付者名 お客様番号 お客様名 問い合わせ内容(A~T) を順に入力しています。 そしてそのデータを日別集計表に自動的に集計されるように計算式を組んでいます。 日別集計表は縦に1ヶ月の日付が並び、横に分類(A~T)が並んでいます。 一目見て、いつどの系統(分類)の問い合わせが何件あったか分かるようになっています。 現在組んである計算式は以下の通りです。 SUMPRODUCT((集計表!$E$1:$E$400="A")*(集計表!$A$1:$A$400=日別集計表!$A5)) 分類が「A」の場合の式になります。 ちなみに現在集計される対象の文字は『全角大文字のローマ字』となっております。 ここで、皆様に質問なのですが、『全角大文字』であっても『半角大文字』であっても集計されるような計算式を組みたいです。 何しろこの集計表は不特定多数の方が入力するので、入力ミスが多く発生します。 『全角』のつもりが『半角』だった!ということがまれにあり、大変困っております。 『全角でも半角でもA(A)であることには変わりないのだから集計されるように計算式を組みたい』と思っております。 どうかお力添えをいただきたいです。 あと、集計表には日々お客様から受け付けた内容を入力していくのですが、月によって入力件数にバラつきがあります。 400行まで集計されるよう計算式を組んでありますが、データが400行を超えても、増えた分だけ集計する値が範囲が広がるような式というのはありますでしょうか。 Excel初心者なもので『そんなことできません』といわれるような内容を質問していた場合、申し訳ございません。 探せど探せど答えが見つからなかったので質問しました。 ちなみにExcel2003です。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルで作成したいのですが
エクセルで、 A列に「日付」、 B列に「機械種類」、 C列に「作業数」を手入力して D列に「当日の総作業数」を自動入力するような、 作業工数表を作成したいと思っています。 (具体例) 2/1 A機 1000 2/1 B機 300 2/1 A機 1200 2200 2/2 A機 1200 2/2 B機 3500 2/2 B機 12000 15500 2/2 A機 2000 3200 2/1 B機 1000 1300 以上のような状態にしたいのですが、 D列の「総作業数」を、 自動で集計されるようにするには、どうすればよいでしょうか…。 具体的には、 「A列が同日の日付の場合、B列の機械毎にその「作業数(C列)」を合計し、 同日日付の最後の日の、D列に合計値を記入する。 という形と考えているのですが、 日付は作業を指示する者が追記していくので必ずしも日付順に並んではいない場合での計算が理想ですが、ソート?で並べ替えをして数式が自動になればそれで構いませんが。 アドバイスを頂けると助かります。 よろしくお願いいたします。m(_ _)m
- ベストアンサー
- オフィス系ソフト
- エクセルでつくる集計表の計算式
曜日単位の集計を行う式を教えていただけないでしょうか A欄 B欄 C欄 日付 曜日 人数 A欄は1~31日 B欄は月ごとに変わりますが、日~土 C欄は人数が入る表の下に 日~土の7セルを作り、そのセルの中に、上記表の曜日単位の人数を入れたいのですが、どんな条件式にすればよいのか教えていただけないでしょうか
- ベストアンサー
- オフィス系ソフト
- Excel VBA
Excel VBAについて シート1にはデータが入ってます。 G列に日付、L列に商品名、N列に件数。 シート2には集計結果を入力したいです。 セルB2に、日付が10月1日から15日までで、商品名がAの件数の合計。 セルB3は、日付が10月16日から末日まで、セルB4は、日付が11月1日から15日までと半月毎に集計を半年後の末日まで繰返し、B2の数行下には、商品名Bの集計行を作り、その数行下には商品名Cの集計行を作りたいです。 これまでは関数SUMIFSで集計していましたが、複数店舗分のシートの更新・メンテナンスが大変なので、VBAでの集計を考えいろいろ調べてるのですが、方法が思い付かないので、ご教授ください。
- 締切済み
- Visual Basic
- Excelでの集計表の作り方
Excelで1ヶ月の集計表を作っていますがどうしてもわからない事があります。まず縦に1ヶ月分の日付を入れて横に純売上(B列)と消費税(C列)と総売上(D列)の表を作りました。日付は月を入力すると自動で変わる様にして月末も30日までの月は最後のセルも空白になる様に、土日祝は曜日の文字の色も変わります。その後が問題なんですが、曜日毎の集計を自動計算するだけならSUMIF関数ですぐに出来るんですが日祝の合計を1つのセルに集計させたいんです。月によって祝日の曜日も変わりますしどうしてもその方法がわかりません。説明が下手で申し訳ありませんがわかる方がいればお願いします。
- ベストアンサー
- その他(インターネット・Webサービス)
- Excelで、出勤人数の集計方法は?
現在、私の手元に工場の作業日報のデーターベースがあります。 いつ、誰が、どんな作業を、何時から、何時まで行っていたかというデーターが約半年分、行数にして1万5千行ほどあります。 このデーターベースから、日付毎の出勤人数を集計したいのですが、集計やピポットテーブルを使用しても上手く往きません。 A列に日付、B列に作業者名、C列以降に作業名や時間が入力されているのですが、一人が一日に複数の作業を行った場合、同じ日付に同じ作業者名が幾つもダブって入力されています。 集計やピポットテーブルを使用しても、例えば同じ日付に同じ作業者名が3回登場すると、1とカウントせず、3とカウントしてしまいます。 このように、データーの個数を集計するのではなく、データーが何種類有るかを集計する方法は無いのでしょうか。詳しい方、どうかご教授下さい。 では。
- ベストアンサー
- オフィス系ソフト
お礼
回答ありがとうございます。 かなり複雑そうですね。 とにかく試してみます。