

Accessで以下のようなクロス集計を作成したのですが、元データを消してしまいました。
クロス集計の結果はエクセルで残っているのですが
元データを生成する良い方法は無いでしょうか
どなたかご存知でしたらご教授下さい。
よろしくお願いいたします。
クロス集計結果
商品名 営業所1売上 営業所2売上 ・・・・・・
商品1 100 200 ・・・・・・
商品2 0 50 ・・・・・・
商品3 50 10 ・・・・・・
元データ形式
商品名 営業所名 売上
商品1 営業所1 100
商品1 営業所2 200
商品2 営業所1 0
商品2 営業所2 50
商品3 営業所1 50
商品3 営業所2 10
・・・・・・・・・・
No.1ベストアンサー
- 回答日時:
Excelのテーブルをインポートしてから
ユニオンクエリを使います
select 商品名,"営業所1" as 営業署名,営業所1売上 as 売上
from テーブル名
union all
select 商品名,"営業所2" as 営業署名,営業所2売上 as 売上
from テーブル名
union all
・
・
CHRONOS_0さん
ありがとうございました。戻せました。
でも少し違ったのが
売上を[]で閉じなければ出来なかった点と、union all だと
FROM構文エラー になってしまった点でしたが、
CHRONOS_0さんのアドバイスでどうにか戻すことが出来ました。
私の知識では、なぜエラーになったのか分かりませんが、
アクセスのバージョンのせいでしょうか、ちなみに私の環境は
エクセルもアクセスも2000です。
最初にそのようなことも書かずに大変失礼しました。
そして、ありがとうございました。
以下 私の方で出来たクエリーです。
select 商品名,"営業所1" as 営業所名,営業所1売上 as [売上]
from sheet1
union
select 商品名,"営業所2" as 営業所名,営業所2売上 as [売上]
from sheet1
No.2
- 回答日時:
エクセルのVBAです。
集計データをSheet1、作成先をSheet2とします。
クロス集計結果等の見出しを省き、必要なデータのみを残します。
データがA1から開始することを前提とします。
Sub Sample()
Dim SyukeiData As Range
Dim i As Integer
Dim j As Integer
Dim k As Integer
Set SyukeiData = Sheets("Sheet1").Range("A1").CurrentRegion
k = 1
For i = 2 To SyukeiData.Rows.Count
For j = 2 To SyukeiData.Columns.Count
Sheets("Sheet2").Cells(k, 1) = SyukeiData.Cells(i, 1)
Sheets("Sheet2").Cells(k, 2) = SyukeiData.Cells(1, j)
Sheets("Sheet2").Cells(k, 3) = SyukeiData.Cells(i, j)
k = k + 1
Next
Next
Set SyukeiData = Nothing
End Sub
以上です。
keirikaさん
ありがとうございます。
すばらしい。おぉ。という感じです。
私はVBAは殆ど分からないのですが、目から鱗です。
このままで、縦横がどんなに大きな集計表になっても
使えるのですね!
違うときにも十分使えそうです。
アドバイスいただいたVBAを今度自分なりに勉強してみます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カウントが出来ません
-
FROM の中で CASE を使えるでし...
-
AccessからExcelへエクスポート...
-
access 存在しない項目を”0件”...
-
「警告 : NULL 値は集計または...
-
ACCESSのクエリで集計で、先頭...
-
アクセス レポートのテキスト...
-
「直需」の意味を教えてください
-
Excel 2019 のピボットテーブル...
-
ACCESS検索★ある文字を複数のフ...
-
【Access】フォームで自動計算...
-
エクセルグラフの凡例スペース
-
Accessのクエリでデータの入力...
-
日本語のテーブル名、カラム名...
-
Access クロス集計クエリについて
-
データがある場合のカラムの削除
-
再計算って出来ますか?
-
下記の事を行うSQLがわかりませ...
-
Countと受付状態の表示に...
-
【続続】Access2002で連番のつ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カウントが出来ません
-
FROM の中で CASE を使えるでし...
-
ACCESSのクエリで集計で、先頭...
-
アクセスで困ってます(初心者)
-
access 存在しない項目を”0件”...
-
Accessフォームにクロス集計ク...
-
複数列フィールド値のクロス集計
-
クロス集計の結果を元に戻す方法
-
アクセスクエリ 締め日毎で絞...
-
AccessからExcelへエクスポート...
-
アクセスクエリの計算
-
Accessで年齢から年代ごとの集計
-
桐の集計(集計行設定のこと)...
-
ASで指定した項目名をGROUP BY...
-
教えてグーのランキング?につ...
-
「警告 : NULL 値は集計または...
-
クロス集計での order by句の使...
-
ACCESS VBAの定義域集計関数の...
-
ファイルメーカーからエクセル...
-
クエリを使って縦に一行ずつ足...
おすすめ情報