Excelで複数行のデータを繰り返しコピーしたい場面では、コピー元の範囲、貼り付け先の開始位置、繰り返す回数を整理すると作業ミスを防げます。
たとえば3行分の担当者データを月ごとに複製したい場合や、商品コードと数量の組み合わせを一定回数だけ連続入力したい場合に便利です。
複数行を繰り返す基本の考え方は、コピー元を選択して貼り付ける方法、オートフィルで規則的に展開する方法、数式で元データを参照する方法の3つです。
ここではWindows版Excelを想定し、連続データを貼り付ける操作、数式を使う方法、VBAによる自動化まで順番に解説します。
複数行をコピーして繰り返す基本操作
| A列 | B列 | C列 |
|---|---|---|
| 商品名 | 担当者 | 数量 |
| りんご | 田中 | 10 |
| みかん | 佐藤 | 15 |
| ぶどう | 鈴木 | 8 |
それではまず、3行程度のまとまりをコピーして、下方向へ繰り返し貼り付ける基本操作について解説していきます。
コピー元に見出し行を含めるかどうかを最初に決めると、貼り付け後の表が整いやすくなります。
コピー元の複数行選択
コピーしたい範囲の左上セルをクリックし、右下セルまでドラッグして複数行を選択します。
上の例ではA2からC4を選択すると、商品名、担当者、数量の3行分をひとまとまりとして扱えます。
列幅や罫線、表示形式も含めて複製したい場合は、セルをドラッグして選択する方法が適しています。

選択後にCtrlキーを押しながらCキーを押すか、ホームタブのコピーを選択しましょう。
コピー範囲の周囲に動く点線が表示されれば、貼り付け待ちの状態です。
【操作のポイント】データの1行目がヘッダーの場合、通常はA2行目以降だけをコピーします。
貼り付け開始セルの指定
続いては、コピーした複数行を置き始めるセルを確認していきます。
元データのすぐ下へ続けるなら、A5セルをクリックしてCtrlキーを押しながらVキーを押します。
A5からC7に、A2からC4と同じ3行分の値が貼り付けられます。
貼り付け先に既存の値があると上書きされるため、空白行の有無を確認してから実行することが大切です。

別シートへコピーする場合も、貼り付け先シートを開いて左上の開始セルを指定する流れは同じです。
【操作のポイント】複数行の貼り付けでは、選択範囲全体ではなく貼り付け開始位置となる1セルをクリックします。
同じ範囲を連続で貼り付ける操作
同じ3行を何度も繰り返すときは、貼り付け後に次の開始セルを指定してCtrlキーとVキーを繰り返します。
最初の貼り付けがA5からC7なら、次はA8を選択し、さらに次はA11を選択します。
開始セルはコピー元の行数ずつ下へ移動するため、3行データなら3行間隔、5行データなら5行間隔です。
途中に空白行を入れたい場合は、貼り付け開始セルを1行以上ずらすことでレイアウトを調整できます。
3行のデータを4回並べる場合、必要な行数はコピー元を含めて3行×4回で12行です。元データを残したまま下へ3回貼り付ければ、4組のデータになります。
【操作のポイント】貼り付け直後にEscキーを押すと、コピー状態を解除できます。
貼り付けオプションと連続データの扱い
| 貼り付け方法 | コピーされる内容 | 主な用途 |
|---|---|---|
| 通常貼り付け | 値、数式、書式 | 表全体の複製 |
| 値の貼り付け | 計算結果のみ | 固定データ化 |
| 数式の貼り付け | 数式のみ | 書式を維持した更新 |
続いては、コピー後の見た目や数式の扱いを調整できる貼り付けオプションを確認していきます。
同じ内容に見えても、値だけを複製するのか、数式と書式まで複製するのかで結果が変わります。
通常の貼り付けと書式の引き継ぎ
CtrlキーとVキーによる通常の貼り付けでは、セル内の値、数式、文字色、塗りつぶし、罫線などが基本的にまとめてコピーされます。
入力用のひな形を複数作る場合は、この貼り付け方法が使いやすいでしょう。
ただし、コピー元に数式がある場合、セル参照が相対参照として自動調整されることがあります。
たとえばC2にA2とB2を掛ける数式があれば、C5へ貼り付けた数式は通常A5とB5を参照します。

【操作のポイント】書式を統一したい表では、最初に正しい書式の見本を1組作ってからコピーします。
値のみ貼り付けによる結果の固定

数式の計算結果だけを繰り返したい場合は、貼り付け先で右クリックし、貼り付けのオプションから値を選択します。
値のみ貼り付けを使うと、元セルに入っていた数式は残らず、表示されていた結果だけが入力されます。
元データを変更しても貼り付け済みの結果を変えたくないときに向いています。
売上集計の確定値、提出済み資料の数値、他ブックへ渡す作業用データなどで利用しやすい方法です。
貼り付け先でCtrlキー、Altキー、Vキーを順に使うと形式を選択して貼り付ける画面を開けます。値を選んで確定すると、数式を使わず結果だけを貼り付けられます。
【操作のポイント】値のみ貼り付けを実行すると数式へ戻すことはできないため、必要なら元データを残します。
数式を含む複数行の注意点
数式を含む行を繰り返すと、参照先がずれて予期しない計算になることがあります。
コピーしても常に同じセルを参照させたいときは、ドル記号を使った絶対参照を設定します。
たとえばD2に単価、C2に数量があり、E2で金額を計算するなら、数式は =C2*$D$2 と入力できます。
この数式を下へコピーするとC2の部分はC3、C4のように変化しますが、$D$2は固定されます。
繰り返しコピーする前に、相対参照と絶対参照の違いを確認することが計算ミスの予防につながります。
【操作のポイント】F4キーを押すと、数式編集中に参照形式を切り替えられます。
数式による複数行データの繰り返し
| A列 | B列 | D列 |
|---|---|---|
| 商品名 | 数量 | 繰り返し表示 |
| りんご | 10 | りんご |
| みかん | 15 | みかん |
| ぶどう | 8 | ぶどう |
続いては、コピーと貼り付けを何度も行わず、数式で元の複数行を循環表示する方法を確認していきます。
元データを変更したときに繰り返し先も自動更新したい場合は、数式による参照が便利です。
INDEX関数とMOD関数の組み合わせ
コピー元がA2からA4の3行で、D2から下方向に同じ順番を繰り返す場合を考えます。
=INDEX($A$2:$A$4,MOD(ROW()-ROW($D$2),ROWS($A$2:$A$4))+1)
この数式をD2へ入力し、下方向へオートフィルすると、りんご、みかん、ぶどうの順番が繰り返されます。
ROW関数は現在の行番号を取得し、MOD関数は3で割った余りを求め、INDEX関数がコピー元の該当行を返す仕組みです。
ROWS関数を使うことで、元データの行数を数式に直接書かずに済みます。
【操作のポイント】コピー元にヘッダーがある場合、INDEX関数の範囲はヘッダーを除くA2から開始します。
数式入力からオートフィルまでの画面操作
数式を入力したD2セルを選択し、セル右下の小さな四角形であるフィルハンドルにポインターを合わせます。
ポインターが黒い十字になったら、必要な行まで下方向へドラッグします。
先頭セルだけに数式を入れ、オートフィルで下へ引っ張ることで、参照式が各行に展開されます。
数式をコピーする範囲は、必要な繰り返し回数に応じて決めるとよいでしょう。
【操作のポイント】隣接列にデータが続いているときは、フィルハンドルをダブルクリックして自動入力できる場合があります。
複数列を同時に繰り返す数式
商品名だけでなく担当者や数量も繰り返す場合は、コピー元の列ごとに数式を設定します。
D列に商品名、E列に担当者、F列に数量を表示するなら、各列でINDEX関数の参照範囲だけを変更します。
D2には =INDEX($A$2:$A$4,MOD(ROW()-ROW($D$2),ROWS($A$2:$A$4))+1) を入力します。E2では参照範囲を$B$2:$B$4へ、F2では$C$2:$C$4へ変更します。
3つの数式を横方向へコピーできる形にしたいときは、元データの範囲設計をそろえることが重要です。
複数列の行数は必ずそろえ、途中に空白を作らないようにすると、同じ順番で連続データを表示できます。
【操作のポイント】数式の動作確認は、まず1周期分となる3行または5行だけオートフィルして行います。
オートフィルを使った反復入力
| 入力済みの行 | 操作 | 結果 |
|---|---|---|
| A2からC4 | 範囲選択してフィルハンドル | 同じ3行セットを下へ展開 |
続いては、貼り付け操作を減らせるオートフィルによる反復入力を確認していきます。
オートフィルは単一セルだけでなく、複数行を選択した状態でも利用可能です。
複数行範囲のフィルハンドル操作
A2からC4のように3行分の範囲を選択すると、選択枠の右下にフィルハンドルが表示されます。
このフィルハンドルを下へドラッグすると、選択した3行セットを連続して展開できます。
コピーと貼り付けを繰り返すよりも、マウス操作だけで広い範囲に配置できる点がメリットです。
3行セットを合計5組にするなら、元の3行を含めて15行分になる位置までフィルハンドルをドラッグします。
【操作のポイント】途中でドラッグを止めると、セットの途中まで入力されることがあるため、最終行を確認します。
連続番号との組み合わせ
各セットに受付番号や月番号を付けたい場合は、反復データとは別の列で連続番号を作成します。
たとえばG2に1、G3に2を入力して2セルを選択し、フィルハンドルを下へドラッグすると連番を作れます。
一方で、同じ番号を3行ずつ繰り返したいときは、数式を使う方法が確実です。
G2に =INT((ROW()-ROW($G$2))/3)+1 と入力すると、1が3行、2が3行、3が3行というように番号を繰り返し表示できます。
行数の3は、1セットに含まれるデータ行数に合わせて変更します。
【操作のポイント】連番列とデータ列を分けて管理すると、並べ替えやフィルターの際に確認しやすくなります。
オートフィル後の内容確認
展開後は先頭、途中、最後のセットを確認し、順番が崩れていないかを見ます。
日付や数値が連続データとして増えてしまった場合は、オートフィルオプションからコピーを選ぶか、通常のコピーと貼り付けへ切り替えます。
Excelは入力内容によって連続系列を予測することがあるため、同じ値の反復を意図する場合は結果確認が欠かせません。
【操作のポイント】誤った展開に気付いたら、すぐにCtrlキーとZキーで元に戻します。
VBAによる繰り返しコピーの自動化
| 項目 | 設定例 |
|---|---|
| コピー元 | A2からC4 |
| 繰り返し回数 | 10回 |
| 貼り付け開始行 | 5行目 |
続いては、同じ複数行を何十回も繰り返す場合に役立つVBAによる自動化を確認していきます。
マクロを使う前には、対象ブックをマクロ有効ブックとして保存し、元データのバックアップを取ると安心です。
繰り返しコピー用のVBAコード
AltキーとF11キーを押してVBEを開き、挿入メニューから標準モジュールを追加します。
次のコードは、1行目をヘッダーとし、A2からC4の3行をA5から下へ10回貼り付ける例です。
Sub RepeatMultipleRows()
Dim i As Long
Dim sourceRange As Range
Dim startRow As Long
Set sourceRange = Range("A2:C4")
startRow = 5
For i = 1 To 10
sourceRange.Copy Destination:=Cells(startRow, "A")
startRow = startRow + sourceRange.Rows.Count
Next i
Application.CutCopyMode = False
End Sub
コードを実行すると、コピー元の行数をsourceRange.Rows.Countで取得し、その分だけ貼り付け開始行を下へ移動します。
【操作のポイント】コピー元の範囲を変更したときは、A2:C4の部分だけを実際の範囲に合わせて修正します。
貼り付け回数と開始位置の変更
繰り返す回数は、For i = 1 To 10 の10を変更して調整します。
20回コピーしたい場合は10を20へ、5回だけにしたい場合は5へ変更します。
貼り付け先をA5以外から始める場合は、startRow = 5 の数字を変更します。
開始行はコピー元と重ならない行番号に設定することが重要です。
コピー元が4行ならsourceRange.Rows.Countは4となり、貼り付け先は開始行から4行ずつ下へ自動移動します。
【操作のポイント】実行前に貼り付け先の既存データを確認し、必要に応じて別シートでテストします。
値のみを繰り返すマクロの設定
数式や書式を含めず、値だけをコピーしたい場合は、Copy Destinationの代わりにValueを代入します。
Cells(startRow, "A").Resize(sourceRange.Rows.Count, sourceRange.Columns.Count).Value = sourceRange.Value
この処理では、コピー元の計算結果だけが貼り付け先へ入ります。
数式を持たない確定データとして繰り返したい場合に適した書き方です。
【操作のポイント】値貼り付けでは色や罫線は複製されないため、見た目が必要なら別途書式を設定します。
まとめ エクセルで連続データを貼り付ける複数行コピーの方法
| 方法 | 向いている場面 |
|---|---|
| コピーと貼り付け | 少ない回数の複製 |
| 数式とオートフィル | 元データと連動した反復 |
| VBA | 大量の定型処理 |
Excelで複数行をコピーして繰り返すときは、少ない回数ならコピーと貼り付け、更新を連動させたいならINDEX関数とMOD関数、大量処理ならVBAを選ぶと効率的です。
1行目にヘッダーがある表では、通常は2行目以降をコピー元にし、ヘッダーを重複させないようにします。
数式をコピーする場合は、相対参照による参照先の移動や、絶対参照の固定範囲を確認しましょう。
また、貼り付け先の既存データを上書きしないこと、オートフィル後に先頭と最終行を確認することも大切です。
作業量やデータ更新の頻度に合う方法を選び、連続データの貼り付けを正確かつ効率よく進めましょう。