エクセルで以下のように並んでいるデータを(空欄はセルの区切りとお考えください)

型番  カラー    25 26 27(※サイズごとの在庫個数)
A    RED     1  3  4
A    WHITE    3  2  3
B    RED      1  3  4
B    WHITE    3  2  3



以下のように縦積みに直したいと思うのですが
A  RED   25  1
A  RED   26  3
A  RED  27  4
A  WHITE   25  1
A  WHITE  26  3
A  WHITE  27  4 
B  RED   25  1



どなたか、方法がお分かりの方はいらっしゃいますでしょうか?

※靴の通販ショップを運営しておりまして、取引先から頂く在庫データを
管理システムのCSVの形式に直せないと
膨大な時間がかかるので困っております。

泥臭い方法でも結構でございますので、お知恵をお借りしたいです。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

複雑な条件がなければ


G2セル 1
H2セル =INDEX(A:A,($G2+5)/3)
I2セル =INDEX(B:B,($G2+5)/3)
J2セル =INDEX($C$1:$E$1,MOD(G2-1,3)+1)
をふまえて
K2セル =INDEX(C:E,(G2+5)/3,1+MOD(G2-1,3))
G2:K2セルを選択して下へオートフィル
データ数の処理は考えていません
「エクセルのデータの並べ変えについて」の回答画像1
    • good
    • 0
この回答へのお礼

できましたー。(涙)
これで、作業が100分の1位で済みます。。
$G2+5など、素敵美しい式ですね。
無理だと思っていたのでホント感激です。
ありがとうございました。

お礼日時:2011/04/22 02:00

添付図参照



Sheet2!D1: =INDEX(Sheet1!C$2:E$100,SUMPRODUCT((Sheet1!A$2:A$100=A1)*(Sheet1!B$2:B$100=B1)*ROW(Sheet1!A$2:A$100))-1,MATCH(C1,Sheet1!C$1:E$1,0))
「エクセルのデータの並べ変えについて」の回答画像3
    • good
    • 0

こんばんは!


VBAでの方法になりますが、一例です。
Sheet1のデータをSheet2に表示するようにしてみました。

画面左下のある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i, j, k As Long
Dim ws1, ws2 As Worksheet
Set ws1 = Worksheets("sheet1") '←Sheet名は適宜変更してください。
Set ws2 = Worksheets("sheet2") '←こちらのSheet名も適宜変更
With ws2.Cells(1, 1)
.Value = ws1.Cells(1, 1)
.Offset(, 1) = ws1.Cells(1, 2)
.Offset(, 2) = "サイズ"
.Offset(, 3) = "在庫数"
End With
i = ws2.Cells(Rows.Count, 1).End(xlUp).Row
If i > 1 Then
ws2.Rows(2 & ":" & i).ClearContents
End If
k = ws1.Cells(1, Columns.Count).End(xlToLeft).Column
For i = 2 To ws1.Cells(Rows.Count, 1).End(xlUp).Row
For j = 3 To k
With ws2.Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Value = ws1.Cells(i, 1)
.Offset(, 1) = ws1.Cells(i, 2)
.Offset(, 2) = ws1.Cells(1, j)
.Offset(, 3) = ws1.Cells(i, j)
End With
Next j
Next i
End Sub 'この行まで

こんな感じではどうでしょうか?m(__)m
    • good
    • 0
この回答へのお礼

できました!!
マクロできませんが、コード見て
やっていることが大体理解できました。
使わせて頂きます。
ありがとうございます。

お礼日時:2011/04/22 02:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報