[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『表の縦横変換について』(ミヤ)
下記のように横書きの表を縦書きにコピーするための、関数を教えてください。
B表 A表
氏名 住所 氏名 住所 年齢 性別
年齢 性別 氏名 住所 年齢 性別
氏名 住所以下 500行あり
年齢 性別
以下500行あり
※すみません前の質問に表題がつかなかったので再登録します。よろしくお願いします。
Sheet1のA1:D500に元データがあり、Sheet2のA1:B1000に表示するものとして、 Sheet2のA1に =OFFSET(Sheet1!$A$1,INT(ROW(A1)/2),COLUMN(A1)-1) Sheet2のA2に =OFFSET(Sheet1!$A$1,INT(ROW(A1)/2),MOD(ROW(A1),2)+COLUMN(A1)) として、 A1:A2を選択し、右へフィルハンドルをドラッグしてコピー後 そのままフィルハンドルをドラッグして、B1000までコピーします。
マクロを使ってもよいなら、 Sub test() Dim x, y x = Worksheets("Sheet1").Range("A1:D500").Value ReDim y(UBound(x, 1) * 2, UBound(x, 2)) For i = 0 To 499 y(i * 2, 0) = x(i + 1, 1) y(i * 2, 1) = x(i + 1, 2) y(i * 2 + 1, 0) = x(i + 1, 3) y(i * 2 + 1, 1) = x(i + 1, 4) Next i Worksheets("Sheet2").Range("A1:B1000").Value = y End Sub
以上のように考えましたが・・・・(Hatch)
> こんな感じでもいいかな それがいいですね。 (Hatch)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.