ヒント:他の言語はGoogle翻訳されています。 訪問することができます English このリンクのバージョン。
ログイン
x
or
x
x
LPI ID 登録
x

or

Excelで一意の値を連結する方法

いくつかの重複データが入っている値のリストが長い場合は、一意の値だけを見つけてそれらを1つのセルに連結したいと考えています。 この問題をExcelですばやく簡単にどのように処理できますか?

列内の一意の値を見つけ、それらをVBAコードで1つのセルに連結する

列内の一意の値を見つけ、Excel用Kutoolsでそれらを1つのセルに連結します。

一意の値を列挙し、対応する値をVBAコードと連結する

一意の値を列挙し、Excel用Kutoolsで対応する値を連結する


矢印青い右の泡 列内の一意の値を見つけ、それらをVBAコードで1つのセルに連結する


以下 ユーザー定義関数 一意の値だけをリストから1つのセルに連結するのに役立ちます。次のようにしてください。

1。 押さえつける Alt + F11 キーを押して アプリケーション用Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードを モジュール 窓。

VBAコード:一意の値を1つのセルに連結します。

Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice 20151228
    Dim xCell As Range
    Dim xDic As Object
    Set xDic = CreateObject("Scripting.Dictionary")
    For Each xCell In xRg
        xDic(xCell.Value) = Empty
    Next
    ConcatUniq = Join$(xDic.Keys, xChar)
    Set xDic = Nothing
End Function

3. 次に、ワークシートに戻り、次の数式を入力します。 = ConcatUniq(A1:A17、 "、") 連結結果を出力したいブランクセルに入力し、 入力します ユニークな連結結果を得るためのキーです。スクリーンショットを参照してください:

docユニーク1を連結する

上記の式において、 A1:A17 連結したいセルの範囲です。カンマ ","は、結合された値を区切るために必要な区切り文字です。必要に応じて変更することができます。


矢印青い右の泡 列内の一意の値を見つけ、Excel用Kutoolsでそれらを1つのセルに連結します。

VBAコードに精通していない場合は、 Kutools for Excel またあなたを助けることができる、あなたは Duplicate&Unique Cellsを選択組み合わせる あなたが必要とする結果を達成するためのユーティリティー。

Kutools for Excel : 300便利なExcelアドイン以上で、60日以内に自由に試してみてください.

インストールした後 Kutools for Excel、次のようにしてください:( Excel用のKutoolsを今すぐダウンロードしてください! )

1。 一意の値のみを結合するセルのリストを選択します。

2に設定します。 OK をクリックします。 クツール > 選択します > Duplicate&Unique Cellsを選択、スクリーンショットを見る:

docユニーク2を連結する

3。 の中に Duplicate&Unique Cellsを選択 ダイアログボックスで オールユニーク(1 st duplicatesを含む) オプションの下に ルール セクション、スクリーンショットを参照してください:

ヒント:最初に出現する重複を除いて一意の値を結合する場合は、 一意の値のみ オプションを選択します。

docユニーク3を連結する

4。 次に、をクリックします OK ボタンを押し、ユニークな値だけを選択してから、 Ctrlキー+ C それらをコピーして、特定の場所に貼り付けるには Ctrlキー+ V、スクリーンショットを見る:

docユニーク4を連結する

5。 ペーストされた一意のセルを選択し、[OK]をクリックします。 クツール > 組み合わせる、スクリーンショットを見る:

docユニーク5を連結する

6。 の中に 列または行を結合する ダイアログボックスで、 単一細胞に結合する選択されたセルを以下のオプションに従って結合する次に、結合したデータの区切り文字を指定します。スクリーンショットを参照してください:

docユニーク6を連結する

7。 次に、をクリックします Ok or 適用します ボタンを押すと、抽出されたユニークな値が次のスクリーンショットのように1つの単一セルに連結されます。

docユニーク7を連結する

Excel用のKutoolsを今すぐダウンロードしてください!


矢印青い右の泡 一意の値を列挙し、対応する値をVBAコードと連結する

別のケースでは、2つの列を含む一連のデータがあります。次に、一意の値のみをリストし、別の列の対応する値を連結して次の結果を得たい場合は、このジョブを終了する良い方法がありますかExcelで?

docユニーク8を連結する

ここでは、このジョブに対処するために次のVBAコードを適用できます。次のようにしてください。

1。 押さえつける Alt + F11 キーを押して アプリケーション用Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードを モジュール 窓。

VBAコード:一意の値を列挙し、対応するデータを連結する

Sub test()
'updateby Extendoffice 20151228
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please select the data range", "Kutools for Excel", xTxt, , , , , 8)
    Set xRg = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
    If xRg Is Nothing Then Exit Sub
    If xRg.Areas.Count > 1 Then
        MsgBox "Does not support multiple selections", , "Kutools for Excel"
        Exit Sub
    End If
    If xRg.Columns.Count <> 2 Then
        MsgBox "There must be only two columns in the selected range", , "Kutools for Excel"
        Exit Sub
    End If
    xArr = xRg
    Set xDic = CreateObject("Scripting.Dictionary")
    xDic.CompareMode = 1
    For I = 1 To UBound(xArr)
        If Not xDic.Exists(xArr(I, 1)) Then
            xDic.Item(xArr(I, 1)) = xDic.Count + 1
            xArr(xDic.Count, 1) = xArr(I, 1)
            xArr(xDic.Count, 2) = xArr(I, 2)
        Else
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3。 次に、 F5 キーを押してこのコードを実行し、プロンプトボックスがポップアップして、一意の値に基づいて連結したいデータ範囲を選択するよう促します。スクリーンショットを参照してください。

docユニーク9を連結する

4に設定します。 OK をクリックします。 OKユニークな値が抽出され、別の列の対応する値が連結されて新しいワークシートになります。

:上記のコードでは、赤いコンマ xArr(xArr(I、1))、2)= xArr(xDic.Item(xArr(I、1))、,"&xArr(I、2) このスクリプトでは、結合されたデータを分離したい他の区切り文字に変換します。


矢印青い右の泡 一意の値を列挙し、Excel用Kutoolsで対応する値を連結する

あなたが持っている場合 Kutools for Excelそのと 高度な行の結合 この問題をコードなしですばやく簡単に解決できます。

インストールした後 Kutools for Excel、次のようにしてください:( Excel用のKutoolsを今すぐダウンロードしてください! )

1。 まず、元のデータを保持したい場合は、元のデータのコピーを作成する必要があります。 そして、一意の値に基づいて連結するデータ範囲を選択します。

2。 次に、をクリックします クツール > コンテンツ > 高度な行の結合、スクリーンショットを見る:

docユニーク10を連結する

3。 の中に 高度な行の結合 ダイアログボックスで、一意の値のみを一覧表示する列名をクリックし、[OK]をクリックします。 主キー、スクリーンショットを見る:

docユニーク11を連結する

4。 次に、連結したい別の列名をクリックし、をクリックします。 組み合わせる結合されたデータを区切るための区切り文字を1つ選択してください。スクリーンショットを参照してください:

docユニーク12を連結する

5。 そして、 Ok ボタンをクリックすると、次のスクリーンショットのように、別の列の一意の値に基づいて値が連結されます。

docユニーク13を連結する

Excel用のKutoolsを今すぐダウンロードしてください!


Kutools for Excelは、ほとんどの問題を解決し、生産性を80%向上させます

  • 再利用: すばやく挿入 複雑な数式、チャート そして、以前に使用したもの; セルを暗号化する パスワード付き メーリングリストの作成 そしてメールを送る...
  • スーパーフォーミュラバー (複数行のテキストや数式を簡単に編集する) レイアウトを読む (多数のセルを簡単に読んで編集できます)。 フィルター範囲に貼り付ける...
  • セル/行/列を結合 データを失うことなく; セルコンテンツの分割。 重複する行/列を結合する...重複セルの防止。 範囲の比較...
  • 重複または一意を選択します空白行を選択 (すべてのセルは空です)。 スーパー検索とファジー検索 多くのワークブックで。 ランダム選択
  • 完全コピー 式の参照を変更せずに複数のセル。 参照を自動作成 複数のシートに 箇条書きを挿入、チェックボックスなど
  • テキストを抽出、テキストの追加、位置による削除、 スペースを削除する; ページング小計の作成と印刷 セルのコンテンツとコメント間の変換...
  • スーパーフィルター (保存して他のシートにフィルタ方式を適用する)。 高度な並べ替え 月/週/日、頻度などによる。 特殊フィルター 太字、斜体で...
  • ワークブックとワークシートを組み合わせる; キー列に基づいて表をマージします。 データを複数のシートに分割する; xls、xlsx、およびPDFのバッチ変換...
  • 300を超える強力な機能。 Office / Excel 2007-2019および365をサポートします。 すべての言語をサポートします。 企業または組織に簡単に展開できます。 フル機能の30日間の無料トライアル。
KTEタブ201905

OfficeタブはOfficeにタブ付きインターフェイスを提供し、作業をより簡単にします

  • Word、Excel、PowerPointでタブ付き編集と読み取りを有効にする、出版社、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を50%向上させ、毎日数百回のマウスクリックを削減します。
オフィシタブ底
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    MSBrown · 2 years ago
    I was successfully using the VBA function but something has gone wrong with it - I am only having a #VALUE! error returned now in places where it was working previously. I have combed my data for errors and tried removing and re-creating the VBA module, and renaming the function, nothing seems to be working. Any help would be appreciated, thanks!
  • To post as a guest, your comment is unpublished.
    Marek · 2 years ago
    Thank you! Great and simple function works perfect for me!

    https://www.extendoffice.com/documents/excel/3418-excel-concatenate-unique-values.html#a1