「みんな教えて! 選手権!!」開催のお知らせ

もう一つ、添付のように横に並んだデータをすぐ下に3行コピーし、
また別の横に並んだデータを3行コピーするというのを繰り返したいのですが、
何千行もあるので、関数やマクロ、裏技で解決できるのであれば
教えていただきたいです。

恐縮ですが、お知恵を貸してください。
どうぞ宜しくお願いいたします。

「エクセルで横データを縦に3行ずつ連続して」の質問画像

A 回答 (5件)

回答1のより手間が少なくて済みます。



G1に=A1、G2に=B1、G3に=C1、G4に=D1と入力して
セル範囲G1:G4を選択して、下へオートフィル
そのままの状態で右へオートフィル
    • good
    • 0
この回答へのお礼

なるほどですね!皆様優しくて感激しています。
ご親切にありがとうございました。

お礼日時:2010/12/29 14:42

=OFFSET($A$1,INT((ROW(A1)-1)/4)*4,COLUMN(A1)-1)

    • good
    • 0
この回答へのお礼

ググっていた時にOFFSETというのを見ましたが
イマイチ分からず、、
こういう式になるんですね!
ご親切にありがとうございました。

お礼日時:2010/12/29 14:41

まず、コピーをしたい一番下の行の右下セルの右側にダミーデータを入力します。


添付されている図の場合、E16セル に「D」とか「0」とか入力。

コピー元とコピーを貼り付けたい範囲を選択して、
Ctrl+G → セル選択 → 空白セル → OK
空白セルが選択され、選択範囲の一番左上の空白がアクティブになります
添付されている図の場合 A2セル。
空白セルが選択されている状態で A2セル にその上のセル(A1セル)を参照する数式を入力します。
 =A1
と入力。
続いて、
Ctrl+D
Ctrl+R
最後に E16セル の内容を削除すれば完了

=A1 とかの数式が残るのが嫌なら、先ほどの範囲を選択して
コピーをした後その場所に、書式を選択して貼り付け から「値」を選び貼り付けると、
数式は値に置き換えられて貼り付けられ数式は消えてくれます。
    • good
    • 0
この回答へのお礼

なるほど、そういう考え方もあるのですね!
ご親切にありがとうございました。

お礼日時:2010/12/29 14:40

こんばんは!


すでに解決しているみたいなので、参考程度で・・・
VBAでの一例です。

画面の左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので、
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → 実行です)

Sub test() 'この行から
Dim i, j As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row + 3
For j = 1 To 4
If Cells(i, j) = "" Then
Cells(i, j) = Cells(i - 1, j)
End If
Next j
Next i
End Sub 'この行まで

尚、空白行は3行としています。
参考になれば良いのですが・・・m(__)m
    • good
    • 0
この回答へのお礼

ありがとうございます!
意味が分からなかったのですが、そのままできました!(感激)
勉強してみようかという気に少しなっています。
ご親切にありがとうございました。

お礼日時:2010/12/29 14:38

G1に =A1 H1に =B1 I1に =C1 J1に =D1


G2に =A1 H2に =B1 I2に =C1 J2に =D1
G3に =A1 H3に =B1 I3に =C1 J3に =D1
G4に =A1 H4に =B1 I4に =C1 J4に =D1
の式をそれぞれ入力し,G1:J4を選んで下向けにオートフィルドラッグします。
必要に応じてやはりコピーし,その場で形式を選んで値のみ貼り付けて値化します。


#メンドクサイ式を一つだけコピーしてやっつける手もありますが,すぐには応用が効かない(違うパターン用に式を自分で直せない)のでお薦めしません。
    • good
    • 0
この回答へのお礼

keithinさん、
再びありがとうございます!!
なるほどなんとなく分かって来ました!
大感謝です!ありがとうございました。

お礼日時:2010/12/28 19:31

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A