プロが教えるわが家の防犯対策術!

エクセルの横に並んだデータ複数行分を
下の図のように変換する効率のよい方法はありますでしょうか?
ご存知の方がいらっしゃれば教えてください。

「エクセルデータの縦横変換について」の質問画像

A 回答 (3件)

こんばんは!


VBAでの一例です。

アップされている画像で3行目以降がSheet1にあり、Sheet2に表示するようにしてみました。

Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面(カーソルが点滅しているところ)に
↓のコードをコピー&ペースト → Excel画面に戻り、マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
Dim i As Long, j As Long, cnt As Long, wS As Worksheet
Set wS = Worksheets("Sheet2") '←Sheet2は実際のSheet名に!
wS.Range("A:B").ClearContents
With Worksheets("Sheet1") '←Sheet1も実際のSheet名に!
For i = 3 To .Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To .Cells(i, Columns.Count).End(xlToLeft).Column
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
wS.Cells(cnt, "B") = .Cells(i, j)
Next j
Next i
End With
End Sub 'この行まで

※ 関数でないので、Sheet1のデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
    • good
    • 0
この回答へのお礼

非常にシンプルでわかりやすくしていただきありがとうございました。
おかげ様でうまくいきました。

お礼日時:2014/03/18 14:06

図では、各県とも1~5町までと揃っているけど、後になって「アレは例示したまでで、実際は3町までとか6町まであったりする、つまりバラバラ」などと言い出さないでしょうね。

    • good
    • 0

表の縦横を入れ替えて、列を切り取って纏めればいいってことでしょうか。


こんなかんじに。
http://kokoro.kir.jp/excel/line-row-replace.html
    • good
    • 0
この回答へのお礼

行と列の入れ替え+それを2列にまとめなければならない作業ですが、
このやり方も参考にさせていただきました。
ありがとうございます。

お礼日時:2014/03/18 14:05

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