• ベストアンサー

エクセル 数行おきにコピー

言葉ではうまく説明できないので参考画像を添付します。 検索してもどうも似たようなものを探しだせませんでした。。 マクロ、関数やエクセルの機能で簡易に 添付参考画像のようなことを実現したいです。 参考となる方法をご教示いただけると幸いです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

A列~B列のデータ範囲を選択して、Ctrl+Gのショートカットでジャンプダイアログを出し、「セル選択」から「空白セル」にチェックを入れ(例示のデータならA2セル以下の空白セルが選択されます)、その状態のまま「=A1」と入力してCtrlキーを押しながらEnterしてください。

basicisee
質問者

お礼

確認が遅くなりました。 できました!! 凄いですね。こんな技があったんですか! 素晴らしいです。感動しました。 ありがとうございます。

その他の回答 (5)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

E1セルには次の式を入力してG1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(A1<>"",A1,IF(AND(COUNT($A2:$A100)>0,COLUMN(A1)<=2),OFFSET(E1,-1,0),"")) なお、G列には時間のシリアル値が表示されますのでそれらのセル範囲を選択して右クリックし、「セルの書式設定」の「表示形式」の「時刻」からC列の時刻表示に合わせます。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.5

> 検索してもどうも似たようなものを探しだせませんでした。 そんなあなたに http://qanda.rakuten.ne.jp/qa8122479.html

basicisee
質問者

お礼

まさしくです。 似たような悩みで相談している方がいましたね。 「行のコピー」ですか。 表現がむずかしいですね。 マクロ、参考にいたしました。 どうもありがとうございます。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! VBAでの一例です。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) 尚、データは1行目からあり1行目は何らかのデータが入っているとします。 Sub Sample1() 'この行から Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(i, 1) = "" Then With Cells(i, 1) .Value = Cells(i - 1, 1) .Offset(, 1) = Cells(i - 1, 2) End With End If Next i End Sub 'この行まで こんなんではどうでしょうか?m(_ _)m

回答No.2

E列 : E1に =MAX($A$1:A1) → 下へ必要なだけコピー F列 : F1に =B1、F2に =IF(B2="",F1,B2) →      F2を下へ必要なだけコピー G列 : G1に =IF(C1="","",C1) →     下へ必要なだけコピー ですかね。

noname#203218
noname#203218
回答No.1

下記式を指定セルにコピペして下さい。 E列、F列はA又はB列のデータが空白の場合は1つ上のセルデータを参照します。 G列はC列にデータがある場合にC列データ参照、空白時はG列も空白 E1式=A1 E1をF1にコピペ G1式=if(C1="","",C1) G1をG2にコピペ E2式=if(A2="",A1,A2) E2をF2にコピペ E2~G2ドラッグ、下方へフィルコピー

basicisee
質問者

補足

早速のご回答ありがとうございます。 言葉足らずですいません。 ABC列を編集してEFG列にするのではなく、 ABC列のままで、EFGの状態に出来ればと考えています。 わかりづらくて申し訳ありません。

関連するQ&A