KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Word テーブルから重複列を迅速に削除(3 の方法)

著者アマンダ・リー変更日

Microsoft Word でテーブルを操作していると、一部の列にまったく同じデータが含まれていることに気づくことがあります。こうした重複列があると、テーブルが不必要に横長になり、管理が難しくなります。Word には重複列を自動的に削除する機能がないため、特に大きなテーブルでは、手動で重複列を特定して削除するのに多大な時間と労力がかかってしまいます。

Word の表から重複列を削除

本チュートリアルでは、Word のテーブルから完全に同一の列を削除する3 つの効果的な方法をご紹介します。まずExcel の「転置」機能を使った代替手段を紹介し、次にKutools for Word で重複列を直接削除する方法を解説します。最後に、VBA マクロによる自動クリーンアップ手法をお伝えします。ご自身の環境やニーズに最も合う方法をお選びください。


Excel を使用して重複列を削除(転置による代替手段)

この方法は、Excel をご利用いただけるユーザーにとって最適な選択肢です。Excel では、データ > 重複を削除機能を使って重複する行を簡単に削除できます。ただし、Excel は行単位で重複を削除するため、列を行に変換する必要があります。そのため、まずテーブルを転置し、重複を削除した後、再度データを転置して元のレイアウトに戻してください:

Office Tab を使用してドキュメント内を移動

Office Tab

Word、Excel、PowerPoint など、ウェブブラウザーのようなタブ型ナビゲーションで、1 つのウィンドウからスムーズに切り替えられます。

  1. 重複を含むテーブルにマウスを合わせると、左上隅に「テーブル移動ハンドル」が表示されます。それをクリックすると、テーブル全体が選択されます。
    表の移動ハンドルをクリックして表全体を選択
  2. 次に、Ctrl + Cを押してテーブルをコピーしましょう。
  3. Excel を開き、空のセルをクリックしてから、Ctrl + Vを押してテーブルを貼り付けましょう。
  4. Excel で貼り付けたテーブルを選択し、再度 Ctrl + Cを押してコピーしましょう。
    • Excel が元の表をネイティブのワークシート範囲として認識できるように、再度表をコピーしてください。その後、転置オプションが利用可能になります。
  5. 別の空のセルを右クリックし、特殊貼り付け > 転置を選択します。(下図のように、「)転置」オプションは2 か所にあります。)
    Excel で「形式を選択して貼り付け」の「行列を入れ替える」を使用
    • これにより、元の列が行に変換され、Excel が重複する列を正確に検出できるようになります。
  6. 転置されたデータを選択し、データ > 重複を削除に進みます。
    Excel で「重複の削除」をクリック
  7. ダイアログボックスで、タイトルを含めるのチェックを外し、OKをクリックすると、転置データから重複行が削除されます。
    Excel の「重複の削除」ダイアログ
  8. クリーンアップされたデータ(下図では範囲 H1:L4)をコピーし、空のセルを右クリックして特殊貼り付け > 転置を再度選択し、元の向きに戻します。
    Excel でデータを元に戻して行列を入れ替え
  9. 最終結果をコピーして、Word に貼り付けましょう。
    クリーンアップされた表を Word に再貼り付け

メリット

  • 大規模な表にも対応可能
  • アドイン不要

デメリット

  • Excel が必要
  • 追加の転置手順が必要
  • Word 内での作業を完全に維持したい方にはやや不便

Kutools for Word を使って重複列を削除

Kutools for Word がインストール済みなら、これが重複列を削除する最も効率的で便利な方法です。Kutools を使えば、現在のテーブルや選択中の表、あるいはアクティブなドキュメント内のすべてのテーブルに対し、Word 上で直接重複列を削除できます。テーブルをExcel にコピーしたり、他の代替手段を取ったりする必要は一切なく、最速かつ実用性に優れたソリューションです。

Kutools for Word

Kutools for Word は、コーディングや複雑な設定なしに、実用的なツールを Microsoft Word に直接組み込み、日常の文書作業をより迅速に処理できるようサポートします。

  • AI による文章作成、校正、翻訳、要約
  • 一括検索と置換(複数ドキュメント間)
  • Word 文書の結合・分割が簡単に
  • Word と PDF のバッチ変換
  1. 重複する列を削除したい特定のテーブルを選択してください。アクティブなドキュメント内のすべてのテーブルを処理する場合は、この手順をスキップしてください。
  2. 次に、KUTOOLS PLUS > テーブル > 空白の行/列を削除をクリックします。
    Kutools メニュー - 空白行/列の削除
  3. ダイアログボックスで:
    1. 次の中から検索対象を設定します:
      • 選択された表(複数可)ドキュメント内の表のうち、選択したものだけを処理したい場合に選択してください。
      • アクティブなドキュメント内のすべての表ドキュメント内のすべての表を処理したい場合は、こちらを選択してください。
    2. 次をクリックして選択します:
    3. 次をクリックして選択してください:重複列
    4. 次をクリックして、OK をクリックすると重複列が削除されます。
      空白または重複する行/列の削除ダイアログ - 重複列

選択したオプションに応じて、指定された表(複数可)またはアクティブなドキュメント内のすべてのテーブルから、完全に同一の列が削除されます。

Word の表から重複列を削除

メリット

  • 大規模な表でも高速かつ簡単に操作可能
  • Word 内で直接動作
  • 1 つの表またはドキュメント内のすべての表を処理可能

Word で同じ作業をもっと素早くこなす方法をお探しですか?ぜひKutools for Word をお試しください。日々の業務がぐっとラクになります。


VBA を使用して重複列を削除

大規模なテーブルを頻繁に扱い、重複列を何度も削除する必要があるなら、VBA マクロを使えば時間を大幅に節約できます。マクロが列を自動で比較し、完全に同一の列を削除するため、手動での確認は不要です。

⚠️ ヒント:VBA コードを実行する前に、必ずドキュメントのバックアップを取ってください。
  1. Word で処理したいテーブル内の任意の場所をクリックしてください。
  2. 次に、Alt + F11を押して、VBA エディターを開きます。
  3. 次に、挿入 > 標準モジュールをクリックします。
    VBA エディターで [挿入] → [標準モジュール] をクリックして新しいモジュールを挿入
  4. 以下のコードをモジュールに貼り付けてください。
    Sub RemoveDuplicateColumnsInSelectedTable()
        Dim tbl As Table
        Dim c1 As Long, c2 As Long
        Dim r As Long
        Dim isDup As Boolean
    
        If Selection.Information(wdWithInTable) = False Then
            MsgBox "Place the cursor inside the table first."
            Exit Sub
        End If
    
        Set tbl = Selection.Tables(1)
    
        For c1 = tbl.Columns.Count To 2 Step -1
            For c2 = c1 - 1 To 1 Step -1
    
                isDup = True
    
                For r = 1 To tbl.Rows.Count
                    If CleanCellText(tbl.Cell(r, c1).Range.Text) <> CleanCellText(tbl.Cell(r, c2).Range.Text) Then
                        isDup = False
                        Exit For
                    End If
                Next r
    
                If isDup Then
                    tbl.Columns(c1).Delete
                    Exit For
                End If
            Next c2
        Next c1
    
        MsgBox "Done. Duplicate columns removed."
    End Sub
    
    Private Function CleanCellText(ByVal s As String) As String
        s = Replace(s, Chr(13), "")
        s = Replace(s, Chr(7), "")
        CleanCellText = Trim$(s)
    End Function
  5. 次に、F5キーを押してマクロを実行します。
  6. 完了しました。重複する列を削除しました。」という確認ダイアログが表示されます。「OK」をクリックして、メッセージを閉じてください。
    重複列が削除されたことを示す確認ダイアログ

選択された表から完全に同一の列が自動的に削除され、Word テーブルには一意の列のみが残ります。

Word の表から重複列を削除

注:

誤ってデータを失わないためにも、テーブルのコピーを使ってマクロをテストすることをおすすめします。

メリット

  • 大規模な表に最適
  • ワンクリックで繰り返しクリーンアップ可能
  • Word を離れずに済む

デメリット

  • 企業ポリシーによりマクロがブロックされる可能性あり
  • 基本的な VBA の知識が必要
  • 複雑な表には調整が必要な場合あり

どの方法があなたに最適ですか?

方法最適な用途制限事項
Excel 転置の代替手段Excel を所有しており、単一の表から重複列を削除したいユーザー向けExcel および追加の転置手順が必要
Kutools for WordWord 内で1 つまたは複数の表から重複列を削除する最も高速かつ便利な方法Kutools のインストールが必要
VBA マクロ繰り返しタスクの自動化を必要とする上級ユーザー向け(コードを修正すれば複数の表に対応可能)マクロの有効化と基本的な VBA 知識が必要

まとめ

最も便利で効率的なソリューションをお探しなら、Word 内で直接重複列を削除でき、1 つまたは複数のテーブルを処理可能な「Kutools for Word」が最適です。すでにExcel をご利用で、追加の手順を気にされない場合は、Excel の転置機能が実用的な代替手段となります。繰り返しタスクの自動化が必要な上級ユーザーには、VBA が柔軟で再利用可能なアプローチを提供します。

本チュートリアルがお役に立てたことを願っています!さらに多くのWord のヒントや実用的なソリューションをご覧になりたい場合は、こちらをクリックしてください。すべてのWord チュートリアルをご覧いただけます。