[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『アクセスでクロス集計した表を戻すには?』(ポポ)
[アクセスでクロス集計した表を列のイメージに戻すにはどうしたらよいでしょうか?]
アクセスでクロス集計した表を列に戻すにはどうしたらよいでしょうか?
@クロス集計イメージは下記です。
項目番号1 項目番号2 項目番号3
社員番号 氏名 A001 A002 A003
11000 山田 3 2 4
11001 佐藤 2 1 5
Aこれを以下の列に変換したいと思ってます。
社員番号 氏名 項目番号 スコア
11000 山田 A001 3
11000 山田 A002 2
11000 山田 A003 4
11001 佐藤 A001 2
11001 佐藤 A002 1
11001 佐藤 A003 5
簡単な質問で申し訳ありませんが、データ量が多くて
困ってます。よろしくお願いいたします。
よくわかりませんが、@はクエリ、Aはテーブル、Aが@になってしまったというより、それぞれ別々のような気がします。 (代奈)
>アクセスでクロス集計した表を・・・ >Aこれを以下の列に変換したいと クロス集計されてしまったエクセルのデータをデータベース形式に戻すと 言うことでしょうか。元となるアクセスのmdbがあるのならそれからクエリ で取り込みしたほうが早いように思えます。 (みやほりん)
クエリの種類そのものを変更するという意味であれば、クロス集計をデザインモードで開き、 右クリック > クエリの種類を「選択」にして、びっくりマークをクリック (代奈)
経緯::Aの形のデータベースを@の形にクロス集計した後、
各社員にデータ(スコア)を随所更新してもらっております。
よって元のアクセスmdbとは異なるものになっており、@の元のmdbはありません。
更新後の@を一括して管理システムに登録するには、
データベース形式に戻す必要があるため、悩んでます。(ポポ)
F、G、H列へレコードごとのデータを作成します。 A B C D E F G H 項目番号1 項目番号2 項目番号3 社員番号 氏名 A001 A002 A003 11000 山田 3 2 4 11000,山田,A001,3 11000,山田,A002,2 11000,山田,A003,4 11001 佐藤 2 1 5 11001,佐藤,A001,2 11001,佐藤,A002,1 11001,佐藤,A003,5 F3 =$A3&","&$B3&","&C$2&","&C3 この数式をレコード数分フィルコピー。 F、G、H列のデータをデータベース形式とするシートへ一列になるように値貼り付け。 貼り付けたデータを並べ替え。 データ>区切り位置>カンマやスペースなど・・・にチェックし次へ、 区切り文字でカンマを指定して次へ、 フィールドごとにデータ形式を指定して完了。 (みやほりん)こういう形でなければマクロ。
みやほりんさんがご提示された形で元のデータがSheet1にある場合、
Sheet2 A B C D 1 社員番号 氏名 項目番号 スコア 2 11000 山田 A001 3 3 11000 山田 A002 2 4 11000 山田 A003 4 5 11001 佐藤 A001 2 6 11001 佐藤 A002 1 7 11001 佐藤 A003 5
Sheet2で、
A2=INDIRECT("Sheet1!A"&INT((ROW()+4)/3)) B2=INDIRECT("Sheet1!B"&INT((ROW()+4)/3)) C2=OFFSET(Sheet1!$C$1,0,MOD(ROW()+1,3)) D2=OFFSET(Sheet1!$C$1,INT((ROW()+1)/3),MOD(ROW()+1,3))
として、下方向にコピーするとこのようになりますが、いかがでしょうか。 (sato)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.