[[20190530103141]] 『クロス集計ひょうからクロス集計表への転記』(MONOKURO) ページの最後に飛ぶ

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

 

『クロス集計ひょうからクロス集計表への転記』(MONOKURO)

Accessで作成した販売実績のクロス集計表をExcelで一度出力し、
Excelのクロス集計表へ転記をしたいのですが、
なにか効率のいい方法はないでしょうか。

●状況
・Excelの表はフォーマットは固定。
(行や列の追加は可能ですが使用する表は変えれない。)

●Access作成クロス集計表

(列)2019年1月 2019年2月 2019年3月…               
(行)客先番号 客先名 品番 品目名 (値) 金額

●Excelの集計表

(列)1月 2月 3月…               
(行)客先番号 客先名 品番 品目名 (値) 金額

●内容
・Accessで作成したクロス集計表から、Excelのクロス集計表へ、
客先番号と品番と売上月(列)が一致する欄へ金額を転記したい。
・毎月必ず全ての客先×品番の売上が発生するわけではなく、
売上が発生しない場合もある。
・Accessで作成したデータから、Excelに転記したとき、
例えば新しい客先や新しい品番が発生し、
客先番号・品番がExcel集計表の行項目にない場合も考えられる。
その場合、自動でExce集計表lの一番下の列に追記されるようにしたい。

以上となります。

Accessで作成してExcelに出力したクロス集計表は、
もちろんAccessのままで使用することも可能です。
クロス集計をやめ、リスト形式で出すことも可能です。
最終的に、Excelの表になればいいです。

すみません、初心者のため、
なるべく簡単な方法を教えていただけると幸いです。
よろしくお願いいたします。

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


一番簡単なのは、Access上のクロス集計クエリ名を右クリックし、Excel形式にエクスポートする事でしょうか。 後は普通にセル範囲コピーできますよね。 全部出力してしまえば、追記なんて必要ないように思いますが、部分的な切り貼りをしたい場合は、普通に手作業かマクロで書くだけです。

または、もしExcelマクロで自動化したい場合、ADOを使ってクロス集計クエリを実行し、得られたRecordsetをCopyFromRecordsetすれば良いでしょう。
(???) 2019/05/30(木) 11:37


回答ありがとうございます。

大切なことを言い忘れていたのですが、
Accessから出力した集計表とExcelの集計表は、
項目(客先番号×品番)の並び順が異なります。

そのため、エクスポートだけでは解決できないのです。

AccessからExcel形式へ出力(エクスポート)した後、
なにかしらの手段を使ってExcelの集計表に転記する必要があります。
すみません、なにかいい方法ないでしょうか。
(MONOKURO) 2019/05/30(木) 12:31


Access側のクエリを少し変更して、出力する列順を変えるとかできないのでしょうか? 自動生成しただけだと、テーブルの定義順でしょうけど、Selectする項目を、任意の順番で並べ変えておくだけかと思います。
(???) 2019/05/30(木) 13:02

関数やマクロで投入することは難しそうでしょうか?

客先番号と品番は共通のので、紐付けはできそうなのですが、、、
(MONOKURO) 2019/05/30(木) 16:08


もちろんマクロで可能と思いますが、テーブルやクエリの詳細が一切判らないし、クエリ修正で何が問題になるのか全然判りません。 手作業やクエリ修正より難しいと思いますよ?

また、エクスポートしたブックのシートと、整形後のシートを別にするなら、数式でもマクロでも好きに並び替えできるでしょうね。 でも、元々ソートの得意なデータベースなのですし、面倒なシートの数式を使わなくても良さそうに思えます。
(???) 2019/05/30(木) 16:22


クエリ修正やソートはもちろん可能です。
ただ、Accessで出力したデータに一致する項目が必ずしも、
転記するExcelシートにあるとは限りません、
逆に、Excelシートにある項目が毎回Accessデータに発生するわけでもありません。

やりたいことと内容について、
例えばこのような内容です。

1.AccessからエクスポートしたExcelデータ(元データ)

客先番号 客先名 品番 品名 5月 4月 3月
001 佐藤商事 A01 絵の具 100000 60000 7500
002 田中商事 A05 えんぴつ 250000 400 4900
002 田中商事 A11 ぺん 20000
002 田中商事 A15 のり 800 300
003 中野商会 A08 マーカー 9000 4300
011 高橋社 A05 えんぴつ 4000 3500
009 ワタナベ A10 消しゴム 700 910
010 中村社 A13 えんぴつ 10000 70000

2.Excelの集計表

客先番号 客先名 品番 品名 5月 4月 3月
011 高橋社 A05 えんぴつ
002 田中商事 A05 えんぴつ
002 田中商事 A11 ぺん
002 田中商事 A15 のり
001 佐藤商事 A01 絵の具
001 佐藤商事 A15 ホチキス
003 中野商会 A08 マーカー
009 ワタナベ A10 消しゴム

1.を2.に一括投入したい。

※Accessからエクスポートしたデータはデータの並び順が異なっている。
※Accessからエクスポートした元データにはあって、
Excelの集計表には項目がない場合がある
(ない項目は自動で一番下の行に追加したい)
※Excelの集計表に項目があっても、必ず毎月売上が発生するわけではない

(MONOKURO) 2019/05/30(木) 19:59


Access
20年くらいまともに触ってないから自信はないけど
Excel側での作業はとりあえず表示順番号をふるだけ。
それをAccess側でリンクテーブル化またはインポート
クロス集計をテーブル作成クエリでテーブル化
Excelで作ったテーブルからすべての項目で→のクエリ
表示順はクエリの並び順にだけに使用非表示
とすれば完璧に
客先番号 客先名 品番 品名 5月 4月 3月
011 高橋社 A05 えんぴつ
002 田中商事 A05 えんぴつ
002 田中商事 A11 ぺん
002 田中商事 A15 のり
001 佐藤商事 A01 絵の具
001 佐藤商事 A15 ホチキス
003 中野商会 A08 マーカー
009 ワタナベ A10 消しゴム
でクエリができるはず
あとはAccessExportでもExcelImportでもご自由に。

(水上) 2019/05/30(木) 21:22


コメント返信:

[ 一覧(最新更新順) ]


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