• ベストアンサー

excelの並び替え

A列のみにデータがあるのですが 1つのデータは 15行ごとになっています。 例えば A1 名前1 A2 電話番号1 A3 住所1 ・・・ A15 備考1 A16 名前2 A17 電話番号2 A18 住所2 ・・・A30 備考2 A31 名前3 A32 電話番号3  という風にデータが並んでいます。 それを SHEET2 に移動したいのですが その時に 要らないデータと並びを変えたいデータがあるのですが、どうするのがいいのでしょうか? A列に 名前 B列に 住所 C列に 備考 という風にしたいのです。 ご返答宜しくお願いいたします。

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.3

方法1 (1)A列に列を挿入します(データはB列に移ります) (2)A列に上から1,2,3,…と連番を入力します。 (3)A列とB列(連番とデータのすべて)をドラッグし、メニューから 挿入→名前 で範囲名をつける(仮に、meiboとします) (4)Sheet2に移り、次のように式を入力する A2に、=VLOOKUP(ROW(A2)*15-29,meibo,2) B2に、=VLOOKUP(ROW(B2)*15-27,meibo,2) C2に、=VLOOKUP(ROW(C2)*15-15,meibo,2) (5)Sheet2のA2,B2,C2をドラッグしてコピー A3以下の行に必要なだけ貼り付け。 方法2 No.1様のご回答のようにINDIRECTを使います。 Sheet1のシート名を変更していないことが前提です。 Sheet2に A2に、=INDIRECT("Sheet1!A"&(ROW(A2)*15-29)) B2に、=INDIRECT("Sheet1!A"&(ROW(A2)*15-27)) C2に、=INDIRECT("Sheet1!A"&(ROW(A2)*15-15)) これを必要なだけ下の行にコピーします。

kuro555
質問者

お礼

具体的な返答ありがとうございました。 まだ途中ですが、早速やっていますが、 出来そうです。 ありがとうございました。

その他の回答 (3)

  • WWolf
  • ベストアンサー率26% (51/192)
回答No.4

ベタなマクロですが Sub test() With Worksheets(1) For i = 0 To 65535 / 15 Worksheets(2).Cells(i + 1, 1).Value = .Cells(i * 15 + 1, 1).Value Worksheets(2).Cells(i + 1, 2).Value = .Cells(i * 15 + 3, 1).Value Worksheets(2).Cells(i + 1, 3).Value = .Cells(i * 15 + 15, 1).Value If .Cells(i + 1, 1).Value = "" Then Exit For End If Next End With End Sub

kuro555
質問者

お礼

素早い返答ありがとうございます。 マクロですね。私のレベルでは難しいかと思っていましたが、 具体的に書いていただいたので 後でやってみようと思います。 ありがとうございました。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.2

Sheet2で、 A1に =Sheet1!A1 A2に =Sheet1!A16 B1に =Sheet1!A3 B2に =Sheet1!A18 として、オートフィルでドラッグしては? シートの参照については、久しくエクセル使ってないのであいまいですが、 オートフィルでいけるとおもいます。

kuro555
質問者

お礼

オートフィルはやってみたのですが、ダメだったんで。 返答ありがとうございました。

  • earthlight
  • ベストアンサー率27% (284/1031)
回答No.1
参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=996898
kuro555
質問者

お礼

素早い返答ありがとうございました。 参考になりました。