• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのデータの並べ変えについて)

エクセルのデータの並べ変え方法とは?

このQ&Aのポイント
  • エクセルでデータを縦積みから横積みに変換する方法を教えてください。
  • 靴の通販ショップで使用する在庫データの形式を変換する方法を教えてください。
  • エクセルのデータの並べ替えに困っています。どなたか方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

複雑な条件がなければ 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セルを選択して下へオートフィル データ数の処理は考えていません

yaruri
質問者

お礼

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

その他の回答 (2)

noname#204879
noname#204879
回答No.3

添付図参照 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))

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 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

yaruri
質問者

お礼

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

関連するQ&A

専門家に質問してみよう