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

Excel で複数のワークシートにわたる一意の値のリストを作成するには?

著者Xiaoyang変更日

Excel で複数のワークシートに分散したデータを扱う際、情報を統合して一意の値のリストを作成する必要が生じることがあります。Excel にはこのタスクを直接実行する組み込み機能はありませんが、実現可能な方法はいくつか存在します。本記事では、複数のワークシートから一意の値のリストを効果的に作成するための3 つの実用的なアプローチをご紹介します。

複数のワークシートから一意の値のリストを作成する


VBA コードで複数のワークシートから一意の値のリストを作成する

すべてのワークシートから一意の値をリストアップするには、以下の VBA コードが役立ちます。次の手順に従ってください:

1.「ALT + F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きます。

2.「挿入」>「標準モジュール」をクリックし、モジュールウィンドウに以下のマクロを貼り付けてください。

VBA コード:複数のワークシートから一意の値のリストを作成する:

Sub SheelsUniqueValues()
Dim xObjNewWS As Worksheet
Dim xObjWS As Worksheet
Dim xStrAddress As String
Dim xIntRox As Long
Dim xIntN As Long
Dim xFNum As Integer
Dim xMaxC, xColumn As Integer
Dim xR As Range
xStrName = "Unique value"
Application.ScreenUpdating = False
xMaxC = 0
Application.DisplayAlerts = False
For Each xObjWS In Sheets
    If xObjWS.Name = xStrName Then
        xObjWS.Delete
        Exit For
    End If
Next
Application.DisplayAlerts = True
For xFNum = 1 To Sheets.Count
    xColumn = Sheets(xFNum).Cells.Find(What:="*", after:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
    If xMaxC < xColumn Then
        xMaxC = xColumn
    End If
Next xFNum
Application.DisplayAlerts = True
Set xObjNewWS = Sheets.Add(after:=Sheets(Sheets.Count))
xObjNewWS.Name = xStrName
For xColumn = 1 To xMaxC
    xIntN = 1
    For xFNum = 1 To Sheets.Count - 1
        Set xR = Sheets(xFNum).Columns(xColumn)
        If TypeName(Sheets(xFNum).Columns(xColumn).Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious)) <> "Nothing" Then
            xIntRox = xR.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
            Sheets(xFNum).Range(Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address).Copy
            Cells(xIntN, xColumn).PasteSpecial xlValues
            xIntN = xIntRox + xIntN + 1
        End If
    Next xFNum
    If xIntRox - 1 > 0 Then
    xIntRox = xIntN - 1
    xStrAddress = Cells(1, xColumn).Address & ":" & Cells(xIntRox, xColumn).Address
    Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
    Range(xStrAddress).Copy
    Cells(1, xColumn + 1).PasteSpecial xlValues
    Range(xStrAddress).AdvancedFilter Action:=xlFilterInPlace, Unique:=False
    Columns(xColumn).Delete
    Range(xStrAddress).Sort key1:=Cells(1, xColumn), Header:=xlNo
    End If
Next xColumn
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3.上記のコードを貼り付けたら、F5 キーを押して実行してください。すると、「Unique value」という新しいワークシートが作成され、すべてのシートの列 A にある一意の名前が、以下のスクリーンショットのように表示されます。

異なるワークシート内のデータと、別のワークシートに抽出された一意の値を示すスクリーンショット


KUTOOLS AI Aide で複数のワークシートから一意の値のリストを作成する

このセクションでは、KUTOOLS AI Aide を使って複数のワークシートから簡単に一意の値リストを作成する方法をご紹介します。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

「Kutools」>「AI アシスタント」をクリックして「KUTOOLS AI Aide」ペインを開き、以下の操作を行ってください:

  1. チャットボックスにご要件を入力してください。例:
    このブックのすべてのワークシートにある列 A の重複を除いた値を抽出し、新しいシートに一覧表示する
  2. その後、Enter キーを押すか「送信」ボタンをクリックしてください。KUTOOLS AI が質問を分析します。完了したら、「実行」ボタンをクリックすると、複数のシートからすべての一意な値が新しいシートに表示されます。デモをご覧ください:

数式で複数のワークシートから一意の値のリストを作成する(Excel 365)

Excel で数式を使って複数のワークシートから一意の値のリストを作成したい場合は、Excel 365 の動的配列関数「UNIQUE」と「VSTACK」を組み合わせれば簡単に実現できます。

空白セルに次の数式を入力し、Enter キーを押すと、複数のシートから単一の列に一意の値が抽出されます。スクリーンショットをご参照ください:

=UNIQUE(VSTACK(Sheet1!A1:A11, Sheet2!A1:A11, Sheet3!A1:A11, Sheet4!A1:A11))

数式を使用して複数のシートから一意の値を抽出

この数式の説明:
  • VSTACK 複数の範囲(例:Sheet1!A1:A11、Sheet2!A1:A11、Sheet3!A1:A11、Sheet3!A1:A11)を、1 つの縦方向の配列にまとめて結合します。
  • UNIQUE 重複を除外し、結合されたリストから一意の値のみを抽出します。
  • 範囲を調整し、実際のデータ範囲を含めてください。

本記事では、Excel で複数のワークシートから一意の値のリストを作成するための3 つの効果的な方法をご紹介しました。それぞれの方法には独自のメリットがあり、お使いのExcel バージョンやスキルレベル、具体的なニーズに応じて最適なものを選べます。当サイトでは、さらに多くのExcel ヒントやテクニックを網羅した数千ものチュートリアルをご利用いただけます!


最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

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 アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得