• 締切済み

データベースの変換です。

教えて下さい。 エクセルのファイルで下記のデータを作り変えたいのですが 可能でしょうか。 可能であれば、やり方を教えて下さい。 旧データ 納品先 品名1 品名2 品名3  A 10 5 7 新データ 納品先  品名   数量 A 1 10 A 2 5 A 3 7 困っています。 宜しくお願い致します。

みんなの回答

  • nda23
  • ベストアンサー率54% (777/1416)
回答No.2

Excelの操作をお尋ねでしょうか? そうであれば、以下の手順です。 (1)品名1~品名3までを選択する。  例文では"10 5 7"のセルです。 (2)選択した範囲をコピーする。 (3)メニューバーの「編集(E)」→「形式を選択して貼り付け(S)」 (4)ダイアログにある「行列を入れ替える(E)」チェックボックスをONにして、「OK」ボタンをクリックする。 ※コピー先がコピー元と重なっているとエラーになります。 (5)納品先をコピー、ペーストする。 (6)数量は旧データに無いので、手で入力する。

mnorinori
質問者

お礼

返事遅れてすみません。 無事出来ました。 ありがとうございます。 今後の参考にさせて頂きます。

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

このような非正規形の表を正規化するにはユニオンクエリを使うのですが ユニオンクエリはSQLでしか書けません select 納品先,1 as 品名,品名1 as 数量 union all select 納品先,2 as 品名,品名2 as 数量 union all select 納品先,3 as 品名,品名3 as 数量 これをSQLビューに書きます 詳細は本かヘルプで調べてください SQLが難しければ、テーブル作製クエリと追加クエリをいくつか作ることになります 元テーブルから 納品先 品名:1 <-式フィールド 品名1 を取り出すクエリを作り、これをテーブル作製クエリに変えます 元テーブルから 納品先 品名:2 <-式フィールド 品名2 を取り出すクエリを作り、これを上のテーブルへの追加クエリに変えます 3に関しても同じものを作ります 3つのクエリを順に走らせればお望みのものができます

mnorinori
質問者

お礼

返事が遅れてすみません。 無事出来ました。 ユニオンは始めてで、苦労しましたが いい勉強になりました。 本当にありがとうございます。

関連するQ&A