Excelで一意の値を連結する方法は?
重複データが入力された値の長いリストがある場合は、一意の値のみを検索して、それらをXNUMXつのセルに連結します。 Excelでこの問題にすばやく簡単に対処するにはどうすればよいですか?
列内の一意の値を検索し、VBAコードを使用してそれらをXNUMXつのセルに連結します
列内の一意の値を検索し、Kutools forExcelを使用してそれらをXNUMXつのセルに連結します
一意の値を一覧表示し、対応する値をKutools forExcelで連結します
列内の一意の値を検索し、VBAコードを使用してそれらをXNUMXつのセルに連結します
以下 ユーザー定義関数 一意の値のみをリストから単一のセルに連結するのに役立ちます。次のようにしてください。
1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。
VBAコード:一意の値を単一のセルに連結します。
Function ConcatUniq(xRg As Range, xChar As String) As String
'updateby Extendoffice
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、 "、") 連結された結果を出力する空白のセルに入力し、を押します 入力します 一意の連結結果を取得するためのキー。スクリーンショットを参照してください。
Note:上記の式では、 A1:A17 連結するセル範囲とコンマ「,」は、結合された値を区切るために必要な区切り文字です。必要に応じて変更できます。
列内の一意の値を検索し、Kutools forExcelを使用してそれらをXNUMXつのセルに連結します
VBAコードに精通していない場合は、 Kutools for Excel またあなたを助けることができます、あなたは組み合わせることができます 重複セルと一意セルを選択します • 組み合わせる 必要な結果を達成するためのユーティリティ。
Kutools for Excel : 300以上の便利なExcelアドインがあり、30日以内に制限なしで無料で試すことができます. |
インストールした後 Kutools for Excel、次のようにしてください:( 今すぐExcel用のKutoolsを無料でダウンロードしてください! )
1。 一意の値のみを組み合わせるセルのリストを選択します。
2に設定します。 OK をクリックします。 クツール > 選択 > 重複セルと一意セルを選択します、スクリーンショットを参照してください:
3。 の中に 重複セルと一意セルを選択します ダイアログボックスで すべてユニーク(最初の重複を含む) オプションの下に ルール セクション、スクリーンショットを参照してください:
ヒント:最初に表示される重複を除いて一意の値を組み合わせる場合は、[ 一意の値のみ オプションを選択します。
4。 次に、をクリックします OK ボタンをクリックし、一意の値のみを選択してから、を押します Ctrlキー+ C それらをコピーし、を押して特定の場所に貼り付けます Ctrlキー+ V、スクリーンショットを参照してください:
5。 貼り付けた一意のセルを選択し、をクリックします クツール > マージ&スプリット > データを失うことなく行、列、またはセルを組み合わせる、スクリーンショットを参照してください:
6。 の中に 列または行を組み合わせる ダイアログボックスで、 単一のセルに結合 下 次のオプションに従って選択したセルを組み合わせるには、次に、結合されたデータの区切り文字を指定します。スクリーンショットを参照してください。
7。 次に、をクリックします Ok or 申し込む ボタンをクリックすると、次のスクリーンショットに示すように、抽出された一意の値がXNUMXつのセルに連結されます。
今すぐExcel用のKutoolsを無料でダウンロードしてください!
一意の値を一覧表示し、対応する値をVBAコードと連結します
別のケースでは、XNUMXつの列を含むデータの範囲があり、一意の値のみを一覧表示し、別の列の対応する値を連結して次の結果を取得したい場合、このジョブを完了するための良い方法はありますか? Excelで?
ここで、次のVBAコードを適用して、このジョブを処理できます。次のようにしてください。
1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。
VBAコード:一意の値を一覧表示し、対応するデータを連結します
Sub test()
'updateby Extendoffice
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 このコードを実行するためのキーを押すと、一意の値に基づいて連結するデータ範囲を選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。
4に設定します。 OK をクリックします。 OK、一意の値が抽出され、別の列の対応する値が連結されて新しいワークシートになりました。
Note:上記のコードでは、赤いコンマを変更できます xArr(xDic.Item(xArr(I、1))、2)= xArr(xDic.Item(xArr(I、1))、2)& ","&xArr(I、2) このスクリプトで、結合されたデータを分離する他の区切り文字に。
一意の値を一覧表示し、対応する値をKutools forExcelで連結します
あなたが持っている場合 Kutools for Excelそのと 高度な結合行 この機能を使用すると、コードなしでこの問題をすばやく簡単に解決できます。
インストールした後 Kutools for Excel、次のようにしてください:( 今すぐExcel用のKutoolsを無料でダウンロードしてください! )
1。 まず、元のデータを保持する場合は、元のデータのコピーを作成する必要があります。 次に、一意の値に基づいて、連結するデータ範囲を選択します。
2。 次に、をクリックします クツール > マージ&スプリット > 高度な結合行、スクリーンショットを参照してください:
3。 の中に 高度な結合行 ダイアログボックスで、一意の値のみを一覧表示する列名をクリックし、をクリックします 主キー、スクリーンショットを参照してください:
4。 次に、連結する別の列名をクリックして、[ 組み合わせる、および結合されたデータを区切るためにXNUMXつの区切り文字を選択します。スクリーンショットを参照してください。
5。 そして、 Ok ボタンをクリックすると、次のスクリーンショットに示すように、値が別の列の一意の値に基づいて連結されています。
今すぐExcel用のKutoolsを無料でダウンロードしてください!
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!