- ベストアンサー
エクセル/行選択の仕方を教えてください。
はじめまして。 エクセルで、3行ごとに選択し、選んだ情報を列に移す作業をしたいのですが 1800行あり手で選択するのが大変です。 行いたい作業は以下の通りです。 A列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA ↓ A列 B列 C列 AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC AAAAAA BBBBBB CCCCCC 一行一行選択して列に移すのではなく選択できる方法がありましたら 是非ご教授ください。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像のように、たぶんタイトル行が1行目にあると思いますので 2行目以降のデータとしています。 C2セルに =INDEX($A$2:$A$1000,ROW(A1)*3-2+(COLUMN(A1)-1)) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 (とりあえず1000行までの数式です) 尚、データがない場合は「0」と表示されますので 当方使用のExcel2003の場合では メニュー → ツール → オプションの「表示タブ」で「ゼロ値」のチェックを外せばそのまま空白になると思います。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m
その他の回答 (3)
- rivoisu
- ベストアンサー率36% (97/264)
結果を"転記先"というシートにするとして 元データが見えている(Active)な状態で以下のマクロを実行します。 Sub qqq() Dim ws As Worksheet Dim i As Long Dim j As Long Set ws = Worksheets("転記先") j = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To j ws.Cells(Int((i - 1) / 3) + 1, (i - 1) Mod 3 + 1) = Cells(i, 1) Next End Sub
Sheet2!A1: =OFFSET(Sheet1!$A$1,(ROW()-1)*3+COLUMN()-1,)
- bin-chan
- ベストアンサー率33% (1403/4213)
1)列Aに一行挿入。 2)セルA1に式[=Row() mod 3]を設定。 3)セルA1の右下にある■をダブルクリック 4)列Aにオートフィルターを設定。 5)オートフィルタで、値[0]を選ぶと[AAAAAAA]たちのはず。 一番上のセルを選びCtrl+Shift+↓で見えてるセルをすべて選んでコピー。 6)別シートの列Aにペースト 7)オートフィルタで、値[1]を選ぶと[BBBBBBB]たちのはず。 一番上のセルを選びCtrl+Shift+↓で見えてるセルをすべて選んでコピー。 8)別シートの列Bにペースト 9)オートフィルタで、値[2]を選ぶと[CCCCCCC]たちのはず。 一番上のセルを選びCtrl+Shift+↓で見えてるセルをすべて選んでコピー。 10)別シートの列Cにペースト でどうでしょう?