- ベストアンサー
エクセル 数行おきにコピー
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
A列~B列のデータ範囲を選択して、Ctrl+Gのショートカットでジャンプダイアログを出し、「セル選択」から「空白セル」にチェックを入れ(例示のデータならA2セル以下の空白セルが選択されます)、その状態のまま「=A1」と入力してCtrlキーを押しながらEnterしてください。
その他の回答 (5)
- KURUMITO
- ベストアンサー率42% (1835/4283)
E1セルには次の式を入力してG1セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(A1<>"",A1,IF(AND(COUNT($A2:$A100)>0,COLUMN(A1)<=2),OFFSET(E1,-1,0),"")) なお、G列には時間のシリアル値が表示されますのでそれらのセル範囲を選択して右クリックし、「セルの書式設定」の「表示形式」の「時刻」からC列の時刻表示に合わせます。
- tsubuyuki
- ベストアンサー率45% (699/1545)
> 検索してもどうも似たようなものを探しだせませんでした。 そんなあなたに http://qanda.rakuten.ne.jp/qa8122479.html
お礼
まさしくです。 似たような悩みで相談している方がいましたね。 「行のコピー」ですか。 表現がむずかしいですね。 マクロ、参考にいたしました。 どうもありがとうございます。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 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
- kuma310min
- ベストアンサー率40% (212/518)
E列 : E1に =MAX($A$1:A1) → 下へ必要なだけコピー F列 : F1に =B1、F2に =IF(B2="",F1,B2) → F2を下へ必要なだけコピー G列 : G1に =IF(C1="","",C1) → 下へ必要なだけコピー ですかね。
下記式を指定セルにコピペして下さい。 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ドラッグ、下方へフィルコピー
補足
早速のご回答ありがとうございます。 言葉足らずですいません。 ABC列を編集してEFG列にするのではなく、 ABC列のままで、EFGの状態に出来ればと考えています。 わかりづらくて申し訳ありません。
お礼
確認が遅くなりました。 できました!! 凄いですね。こんな技があったんですか! 素晴らしいです。感動しました。 ありがとうございます。