Excel でセルの値に基づいて重複列
著者Siluvia•変更日
Excel では、セルに指定された数値に基づいてすべての列を並べ替えるだけでなく、その結果を複製する必要がある場合があります。たとえば、商品列を繰り返したり、シミュレーション用のデータセットを生成したり、構造化されたテンプレートを展開したりするようなケースです。しかし、Excel にはこうした操作を直接実現する標準機能は備わっていません。
本チュートリアルでは、この課題を解決するための2 つの実用的な方法をご紹介します。1 つはカスタマイズ可能ですが技術的な VBA を使用する方法、もう1 つはKutools for Excelを使う、はるかにシンプルで効率的な方法です。

VBA を使用してセルの値に基づき重複列
VBA に慣れているなら、指定された値に基づいて列を自動で複製できます。この方法では、特定の行(たとえば各列の最終行)の値を読み取り、その値に応じて各列を複製します。

VBA を使用して重複列する手順
- 重複させたいワークシートを開きます。
- Alt+F11キーを押して、VBA エディターを開いてください。
- 挿入>標準モジュールをクリックして、新しいモジュールを作成します。
- 次の VBA コードをモジュールウィンドウにコピー&ペーストします。VBA コード:セルの値に基づいて重複列
Sub DuplicateColumnsByCellValue() 'Updated by Extendoffice 20260420 Dim rng As Range On Error Resume Next Set rng = Application.InputBox("Select the range:", "Kutools for Excel", Selection.Address, Type:=8) On Error GoTo 0 If rng Is Nothing Then Exit Sub Dim lastRow As Long lastRow = rng.Rows.Count Dim j As Long, k As Long Dim repeatCount As Long Application.ScreenUpdating = False ' Loop from right to left (very important) For j = rng.Columns.Count To 1 Step -1 repeatCount = rng.Cells(lastRow, j).Value If IsNumeric(repeatCount) And repeatCount >= 1 Then ' Duplicate N times (original + N copies) For k = 1 To repeatCount rng.Columns(j).EntireColumn.Copy rng.Columns(j + 1).EntireColumn.Insert Shift:=xlToRight Next k End If Next j Application.CutCopyMode = False Application.ScreenUpdating = True MsgBox "Columns duplicated successfully.", vbInformation, "Kutools for Excel" End Sub
- F5キーを押して、コードを実行してください。
- ポップアップダイアログで、繰り返し回数を含む行を含んだデータ範囲を選択し、OKをクリックして実行します。

結果
VBA コードを実行すると、各列が最後の行を選択するに指定された数値に従って複製され、元の列は常に保持されます。その後、複製処理が正常に完了したことを示す確認ダイアログボックスが表示されます。
- 値が1 の場合、元の列+1 コピーの合計2 回表示されます。
- 値が2 の場合、元の列とその2 つのコピーが合計3 回表示されます。
コピーされたすべての列は元の範囲内に順番に挿入され、拡張された新たなデータセットが形成されます。列の相対的な順序は保たれ、すべての行でデータ構造が一貫しています。
この方法により、列全体のレイアウトがその場で自動的に再構築され、手動での調整なしに、期待される複製パターンと完全に一致する仕上がりが得られます。
VBA 方式の制限事項
VBA は機能しますが、いくつかの欠点があります。
- マクロを有効にする必要があります(セキュリティ上の懸念があります)。
- 初心者には扱いづらいです。
- 修正やデバッグが難しいです。
- 大規模なデータセットでは、エラーが発生しやすくなります。
- VBA コードを実行すると、元のセルの書式設定(塗りつぶし色、罫線、スタイルなど)が失われてしまいます。
重複列をセルの値に基づいて簡単に実行(Kutools for Excel 使用)
複雑なコードに悩む必要はありません。Kutools for Excelなら、このタスクを専用機能でわずか数回のクリックで処理できます。指定されたセルの値に基づいて自動的に重複列が作成され、数式やコーディングは一切不要です。
Kutools for Excel— Excel に不可欠なツールを300 以上搭載!Excel 作業がより迅速・簡単・効率的に。今すぐダウンロード!
Kutools で重複列する手順
- Kutools for Excel をインストール後、Kutools>挿入>セルの値に基づく行/列の挿入をクリックしてください。

- ダイアログボックスで:
- 列のコピーと挿入を選択してください。
- 重複データを含む生成範囲を選択してください。
- 繰り返し回数で、繰り返し回数が含まれるセル(例:最終行の選択)を選択します。
- OKをクリックしてください。

結果
各列は対応する値に基づいて複製され、新しい列は元の列の直後に挿入されます。このプロセス全体を通じて、すべての書式およびデータ構造が自動的に保持され、一貫性がありシームレスな結果が保証されます。

Kutools for Excel— 300 以上の必須ツールでExcel の機能を大幅に強化し、作業をより迅速かつ簡単に。さらに AI 機能を活用して、スマートなデータ処理と生産性の向上を実現します。今すぐ入手
Kutools が最適なソリューションである理由
VBA と比べて、Kutools には次のような大きなメリットがあります。
- コーディング不要 – すべてのユーザーに最適です。
- ダイアログベースのインターフェースで簡単操作– 複雑な設定は不要です。
- 明確なビジュアルインターフェース – 直感的でわかりやすい設計です。
- 安全で信頼性が高い – マクロによるリスクは一切なし。
- 元の書式をすべて保持(色、罫線、セルのスタイルなどもそのまま)!
- 大規模なデータセットも効率的に処理。
複雑な作業を、シンプルで繰り返し可能なワークフローに変換します。
重複行が必要な場合は、Kutools に「行のコピーと挿入」というオプションも用意されており、同じタスクを簡単に実行できます。
結論
セルの値に基づいて列を複製する機能は、Excel の標準機能では実現できません。VBA は代替手段として機能しますが、技術的な知識を要し、いくつかの制限があります。
一方、Kutools for Excel は、すべてのレベルのユーザーにとって高速で直感的、かつエラーのないソリューションを提供します。構造化されたデータの操作や繰り返し作業の自動化を頻繁に行う必要がある場合は、Kutools が間違いなく優れた選択肢です。
最高の Office 生産性ツール
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索、ハイライト、または重複をマーキング | 空白行を削除する | データを失わずに列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー LOOKUP:複数条件 VLookup | 複数値 VLookup | 複数シート間 VLookup | ファジーマッチ.... | |
| 高度なドロップダウンリスト:ドロップダウンリストをすばやく作成 | 連動型ドロップダウンリスト | 複数選択ドロップダウンリスト.... | |
| 列マネージャー:指定した数の列を追加|列の移動|非表示列の表示状態を切り替え|範囲および列の比較... | |
| 注目の機能:グリッドフォーカス | デザインビュー |強化された数式バー | ワークブック&シートマネージャー | リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除、...)| 50+チャートタイプ(ガントチャート、...)| 40+実用的数式(誕生日に基づいて年齢を計算します、...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入、...)| 12 変換ツール(単語に変換する、為替レートの変換、...)| 7 結合と分割ツール(高度な行のマージ、セルの分割、...)|他にも多数 |
Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験してください。Kutools for Excel は300 以上の高度な機能を提供し、生産性を高め、時間を大幅に節約します。最も必要な機能を今すぐ手に入れるには、こちらをクリック。。。
Office Tab が Office にタブインターフェースを導入し、作業を格段に簡単にします
- Word、Excel、PowerPoint、Publisher、Access、Visio、Project でタブを使った編集・閲覧を有効にします。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成したりできます。
- 日々の作業効率を50% 向上させ、毎日数百回のマウスクリックを削減します!
Kutools アドインはすべてまとめて、インストーラーはたった1 つ。
Kutools for Officeスイートには、Excel、Word、Outlook、PowerPoint 用のアドインに加え、Office Tab Pro も含まれており、複数の Office アプリケーションを横断して作業するチームに最適です。
- オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
- インストーラーもライセンスも1 つだけ— 数分でセットアップ可能(MSI 対応)
- 連携してさらにパワーアップ— Office アプリ全体で生産性を最適化
- 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
- ベストバリュー— 個別購入よりお得



