OSはWin XP、
Microsoft access 2000を使用しています。
EXCELのテーブルとして使おうと、
ACCESSで、うちの独自システムから商品マスタを
抜き取ろうとしています。
(すみません、この辺は流してくださって問題ないと思います)
うちの商品は
品番・品名・色1~色10が入っているのですが、
これを抜き出すと、結果は
品番 品名 色1 色2 色3 色4
A1 帽子 赤 青 黄 黒
A2 手袋 青 緑 ピンク オレンジ
A3 靴下 白 黒 灰
・
・
・
という風に、品番ごとに表示されてしまいます。
これを
A1 帽子 赤
A1 帽子 青
A1 帽子 黄
A1 帽子 黒
A2 手袋 青
A2 手袋 緑
・
・
・
という風に、エクスポートしたときに、品番・色ごとの縦長の表形式で表示させる事は可能でしょうか?
分りにくい説明で申し訳ありません。
初心者ですみませんが、教えてください。
月初の処理で行き詰まってもう大変で・・・。
資料
データは1000件以上あります。
色数は1色から最高10色まであります。
No.1ベストアンサー
- 回答日時:
こんにちは。
小生はEXCELの方がなれているので、貼り付けてから
変更する方法を。(^^ゞ
まず、そのマスタをそのままEXCELにエクスポートします。
(コピペでも可です)
Sheet1に貼り付けたとして、
A列とB列が品番と品名で、
C列~L列が色だとします。
Sheet2の
A1に「品番」
B1に「品名」
C1に「色」
A2に
=INDEX(Sheet1!A:A,ROW(A10)/10+1)
B2に
=INDEX(Sheet1!B:B,ROW(A10)/10+1)
C2に
=INDEX(Sheet1!C:L,ROW(A10)/10+1,MOD(ROW(A1)-1,10)+1)
と書いて、A2:C2を下の方まで、ずーとコピーします。
(1000行×10色で10000行以上・・・)
で、次に、その式の書いてある何処かのセルを
選択しておいて、メニューから[データ][フィルタ]
[オートフィルタ]を実行します。
その後、C列で0となっている部分を▼から選択して、
0となっている部分を全て選択してから、右クリックから
行の削除を実行してみて下さい。
0の選択は、C2のセル辺りから、CTRL+SHIFT+↓を押すと
簡単に選択できると思います。
No.2
- 回答日時:
申し訳ないです。
書き漏らしがありました。
式を入力してから、オートフィルタを実行する前に、
A列からC列を選択して、
コピーをし、そのまま、「形式を選択して貼り付け」から「値」を
選んで[OK]を押して、値にしておいて下さい。
↑m(_ _)m
No.3
- 回答日時:
商品の情報が格納されているテーブル名が不明なので「商品」ということで記述します。
(1) クエリを新規作成して、クエリの種類をユニオンにします(メニューで「クエリ」-「SQL」-「ユニオン」を選択)。
(2) ユニオンクエリの画面が表示されたら、次の内容をコピー&ペーストします。
SELECT 品番, 品名, 色1
FROM 商品
WHERE 色1 is not null
UNION SELECT 品番, 品名, 色2
FROM 商品
WHERE 色2 is not null
UNION SELECT 品番, 品名, 色3
FROM 商品
WHERE 色3 is not null
UNION SELECT 品番, 品名, 色4
FROM 商品
WHERE 色4 is not null
UNION SELECT 品番, 品名, 色5
FROM 商品
WHERE 色5 is not null
UNION SELECT 品番, 品名, 色6
FROM 商品
WHERE 色6 is not null
UNION SELECT 品番, 品名, 色7
FROM 商品
WHERE 色7 is not null
UNION SELECT 品番, 品名, 色8
FROM 商品
WHERE 色8 is not null
UNION SELECT 品番, 品名, 色9
FROM 商品
WHERE 色9 is not null
UNION SELECT 品番, 品名, 色10
FROM 商品
WHERE 色10 is not null
ORDER BY 品番;
(3) クエリを実行すると、品番・色ごとの表形式で表示されます。
・テーブル名、フィールド名が間違っているとエラーになりますので、その場合正確な名称に修正してください。
(4) (3)の実行結果をエキスポートします。
余計なことですが、商品マスタの構造は、非正規形といって一般的に最も良くない形式です。
正規化されていれば、もっと簡単に取り出せます。
No.4
- 回答日時:
AccessのADOでやって見ました。
どうしても他の方法が良くないのなら使ってやってください。
(元データ)テーブル=私の場合はエクセルからインポート
(質問のデータをシートにコピーし、データ-区切り位置
でデータ化した後にアクセスインポートしテーブル化。A1の黒だけ省いてしまった。)
ID品番品名色1色2色3色4色5
1A1帽子赤青黄
2A2手袋青緑ピンクオレンジ
3A3靴下白黒灰
(VBAコード)
繰り返しに持ちこみたかったが、済みません力不足。フィールドの数だけ羅列式になっている。
Private Sub test02()
Dim conn As Connection
Dim rs As ADODB.Recordset
Dim rst As ADODB.Recordset
Set conn = CurrentProject.Connection
Set rs = New ADODB.Recordset
Set rst = New ADODB.Recordset
rs.Open "商品1", conn, adOpenKeyset, adLockOptimistic
rst.Open "商品2", conn, adOpenKeyset, adLockOptimistic
rs.MoveFirst
Do Until rs.EOF
If IsNull(rs!色1) Then GoTo p01
With rst
.AddNew
rst!品番 = rs!品番
rst!品名 = rs!品名
rst!色 = rs!色1
.Update
End With
If IsNull(rs!色2) Then GoTo p01
With rst
.AddNew
rst!品番 = rs!品番
rst!品名 = rs!品名
rst!色 = rs!色2
.Update
End With
If IsNull(rs!色3) Then GoTo p01
With rst
.AddNew
rst!品番 = rs!品番
rst!品名 = rs!品名
rst!色 = rs!色3
.Update
End With
If IsNull(rs!色4) Then GoTo p01
With rst
.AddNew
rst!品番 = rs!品番
rst!品名 = rs!品名
rst!色 = rs!色4
.Update
End With
If IsNull(rs!色5) Then GoTo p01
With rst
.AddNew
rst!品番 = rs!品番
rst!品名 = rs!品名
rst!色 = rs!色5
.Update
End With
p01:
rs.MoveNext
Loop
rs.Close
rst.Close
Set rs = Nothing
Set rst = Nothing
conn.Close
Set connn = Nothing
End Sub
(結果)
ID品番品名色
22A1帽子赤
23A1帽子青
24A1帽子黄
25A2手袋青
26A2手袋緑
27A2手袋ピンク
28A2手袋オレンジ
29A3靴下白
30A3靴下黒
31A3靴下灰
(レポート)
A1
帽子
赤
青
黄
A2
手袋
青
緑
ピンク
・・・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 7 エクセルで重複データから抽出したい 2 2022/05/18 23:31
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- 生物学 エンドウを材料として、 種子の形と葉の色の形質について、遺伝の実験を行った。これらの形質に関する遺伝 1 2023/06/14 21:55
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- 車検・修理・メンテナンス 車の色は、何色の塗装が長持ちするのでしょうか。 白 黒 灰 赤 青 水色 紺 黄 橙 緑 黄緑 紫 9 2023/05/07 08:27
- Excel(エクセル) Excelの関数詳しい方お願いします。 13 2023/01/18 21:11
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- 洗濯・クリーニング・コインランドリー キャップ(帽子)のお手入れについて 平日は毎日長時間被っている帽子で 黄ばみの他にもピンク汚れ・黒か 1 2022/06/08 10:41
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- メルカリ 出品方法について 3 2023/01/03 20:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
★サラダ油等の油を染めたいんで...
-
渋いからし色が作りたいのです...
-
赤が似合う女性ってどんな感じ?
-
WordやExcelの[フォントの色]...
-
ACCESS クエリで1から順番に番...
-
iOSのgamecenterにつきましての...
-
綺麗な河川はなぜ緑色に見える...
-
コネクター、ポートの差込口の...
-
緑に合う色は何色だと思いますか?
-
「SDカードリーダー」LEDアクセ...
-
鮮やかな赤を、暗めの赤に染め...
-
excel2007で色パレットに表示さ...
-
CD-Rの裏の色
-
虹って?
-
赤とオレンジではどちらが目立...
-
洗濯機等で大量に白く脱色したい!
-
「美」のイメージって何色?
-
可愛い色の名前教えてください
-
LEDの色を変える方法ってありま...
-
VB.net
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
渋いからし色が作りたいのです...
-
WordやExcelの[フォントの色]...
-
エメラルドグリーンとミントグ...
-
ACCESS クエリで1から順番に番...
-
LEDの色を変える方法ってありま...
-
綺麗な河川はなぜ緑色に見える...
-
コネクター、ポートの差込口の...
-
赤が似合う女性ってどんな感じ?
-
トーンを上げるとは?
-
鮮やかな赤を、暗めの赤に染め...
-
色のプロに聞きたいベストの色
-
深い緑の中に安らぎと安心があ...
-
印刷する時の色について
-
Excel2010で指定のテーマ色に塗...
-
散布図で任意のドット色の変更...
-
CD-Rの裏の色
-
プロジェクターで映える色(パ...
-
チューリップの球根で色を見分...
-
ハンコの色
-
なぜ土曜日が青?
おすすめ情報