- 締切済み
エクセルで横データを縦に3行ずつ連続してコピーした
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- wisemac21
- ベストアンサー率39% (171/429)
回答1のより手間が少なくて済みます。 G1に=A1、G2に=B1、G3に=C1、G4に=D1と入力して セル範囲G1:G4を選択して、下へオートフィル そのままの状態で右へオートフィル
=OFFSET($A$1,INT((ROW(A1)-1)/4)*4,COLUMN(A1)-1)
お礼
ググっていた時にOFFSETというのを見ましたが イマイチ分からず、、 こういう式になるんですね! ご親切にありがとうございました。
- Cupper-2
- ベストアンサー率29% (1342/4565)
まず、コピーをしたい一番下の行の右下セルの右側にダミーデータを入力します。 添付されている図の場合、E16セル に「D」とか「0」とか入力。 コピー元とコピーを貼り付けたい範囲を選択して、 Ctrl+G → セル選択 → 空白セル → OK 空白セルが選択され、選択範囲の一番左上の空白がアクティブになります 添付されている図の場合 A2セル。 空白セルが選択されている状態で A2セル にその上のセル(A1セル)を参照する数式を入力します。 =A1 と入力。 続いて、 Ctrl+D Ctrl+R 最後に E16セル の内容を削除すれば完了 =A1 とかの数式が残るのが嫌なら、先ほどの範囲を選択して コピーをした後その場所に、書式を選択して貼り付け から「値」を選び貼り付けると、 数式は値に置き換えられて貼り付けられ数式は消えてくれます。
お礼
なるほど、そういう考え方もあるのですね! ご親切にありがとうございました。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! すでに解決しているみたいなので、参考程度で・・・ 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
お礼
ありがとうございます! 意味が分からなかったのですが、そのままできました!(感激) 勉強してみようかという気に少しなっています。 ご親切にありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
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を選んで下向けにオートフィルドラッグします。 必要に応じてやはりコピーし,その場で形式を選んで値のみ貼り付けて値化します。 #メンドクサイ式を一つだけコピーしてやっつける手もありますが,すぐには応用が効かない(違うパターン用に式を自分で直せない)のでお薦めしません。
お礼
keithinさん、 再びありがとうございます!! なるほどなんとなく分かって来ました! 大感謝です!ありがとうございました。
お礼
なるほどですね!皆様優しくて感激しています。 ご親切にありがとうございました。