メインコンテンツへスキップ

Excelで重複することなく列のテキストを結合するにはどうすればよいですか?

Excelで重複することなく列からセルにテキストを結合する方法を知っていますか? また、特定のセル値に基づいて重複することなく列のテキストを結合するとどうなりますか? この記事では、問題を解決する方法について説明します。

数式を使用して重複することなく列のテキストを結合する
VBAコードを使用して、別のセル値に基づいて重複することなく列のテキストを結合します
すばらしいツールを使用して、別のセル値に基づいて列内のテキストを簡単に結合します

セルを組み合わせるためのその他のチュートリアル…


数式を使用して重複することなく列のテキストを結合する

以下のスクリーンショットに示すように、列Aのテキストを重複せずにXNUMXつのセルに結合します。 次のようにしてください。

1.空白のセルを選択し、以下の数式をコピーして、 他の + シフト + 入力します キーを同時に押します。

=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12, 0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))

注: 式では、「, 」は、結合されたテキストの区切り文字です。 A2:A12は、結合する列セルです。 必要に応じて変更してください。

これで、指定した列のテキストが重複せずに結合されます。


VBAコードを使用して、別のセル値に基づいて重複することなく列のテキストを結合します

以下のスクリーンショットに示すように、別のセルの値に基づいて重複することなく列のテキストを結合する必要がある場合があります。次のように取得できます。

1.参加するテキストが含まれているワークシートで、を押します。 他の + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2。 の中に アプリケーション向け Microsoft Visual Basic ウィンドウ、クリック インセット > モジュール、 次に、以下のVBAコードをモジュールコードウィンドウにコピーします。

VBAコード:別のセル値に基づいて重複することなく列のテキストを結合します

Sub JoinTextsWithoutDuplicates()
'Updated by Extendoffice 20190924
    Dim xRg As Range
    Dim xArr As Variant
    Dim xCell As Range
    Dim xTxt As String
    Dim I As Long
    Dim xDic As Object
    Dim xValue
    Dim xStr, xStrValue As String
    Dim xB As Boolean
    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
            xStrValue = xArr(I, 2)
           xB = True
            For Each xStr In Split(xArr(xDic.Item(xArr(I, 1)), 2), ",")
                If xStr = xStrValue Then
                    xB = False
                    Exit For
                End If
            Next
            If xB Then
            xArr(xDic.Item(xArr(I, 1)), 2) = xArr(xDic.Item(xArr(I, 1)), 2) & "," & xArr(I, 2)
            End If
        End If
    Next
    Sheets.Add.Cells(1).Resize(xDic.Count, 2).Value = xArr
End Sub

3。 プレス F5 コードを実行するためのキー。 ポップアップで Kutools for Excel ダイアログで、テキストを結合する値と結合するテキストの両方を含む範囲を選択し、[ OK

次に、一意の値が抽出され、別の列の対応する一意のテキストが結合され、新しいワークシートに配置されます。


すばらしいツールを使用して、別のセル値に基づいて列内のテキストを簡単に結合します

たぶん、あなたは数式やVBAコードが苦手です。 ここでお勧めします 高度な結合行 の有用性 Kutools for Excel あなたのために。 このユーティリティを使用すると、数回クリックするだけで、別のセルの値に基づいて列のテキストを簡単に結合できます。

申請する前に Kutools for Excelについては 最初にダウンロードしてインストールします.

注: ユーティリティは元の範囲で直接適用されるため、以下の操作を適用する前に、元のデータのコピーを作成してください。

1.範囲を選択し(結合するテキストと、それに基づいてテキストを結合する値を含む)、をクリックします。 クツール > コンテンツ > 高度な結合行。 スクリーンショットを参照してください:

2。 の中に 高度な結合行 ダイアログでは、次のようにしてください。

  • テキストを結合する値を含む列を選択し、をクリックします 主キー;
  • セルに結合するテキストを含む列を選択し、をクリックします 組み合わせる > コンマ;
  • 列が残っている場合は、それらの条件を指定してください。 この場合、[販売]列を選択して[ 計算 > 和。
  • クリック OK ボタン。 スクリーンショットを参照してください:

次に、指定した列のすべてのテキストがキー列に基づいて結合されていることを確認できます。 スクリーンショットを参照してください:

  このユーティリティの無料トライアル(30日)が必要な場合は、 クリックしてダウンロードしてください、次に、上記の手順に従って操作を適用します。


関連記事

重複する行を結合し、Excelで値を合計します
Excelでは、重複するエントリを含むデータの範囲があり、重複するデータを結合して別の列の対応する値を合計する場合、この問題を常に解決できます。この問題をどのように解決できますか? この記事の方法を試してください。

Excelでスペース、コンマ、またはその他の区切り文字を使用して複数のセルをXNUMXつのセルに結合する
複数の列または行のセルをXNUMXつのセルに結合すると、結合されたデータは何も分離されない場合があります。 しかし、スペース、コンマ、セミコロンなどの指定されたマークでそれらを区切りたい場合は、どうすればよいでしょうか。 このチュートリアルでは、いくつかの方法を紹介します。

Excelで数値/日付の書式を維持しながらセルを連結する
ExcelでCONCATENATE関数を適用すると、日付形式(2014-01-03)と、通貨形式($ 734.7)、パーセンテージ形式(48.9%)、小数点以下の桁数(24.5000)などの数値形式に気付くかもしれません。削除され、連結結果に一般的な数値として表示されます。 この記事では、Excelで日付または数値の書式を維持しながらデータを連結するためのいくつかの回避策を考え出します。

Excelで連結関数を逆にします
ご存知のとおり、Excelの連結関数は、複数のセルをXNUMXつのセルに結合するのに役立ちますが、連結関数の逆を実行したい場合は、セルを結合せず、セル値を複数の分離されたセルに分割することを意味します。 この記事のメソッドは、問題の解決に役立ちます。

Excelの別の列に同じ値が存在する場合は、セルを連結します
この記事では、Excelの別の列に同じ値が存在する場合に、セルを簡単に連結するのに役立つ方法について説明します。

セルを組み合わせるためのその他のチュートリアル…

最高のオフィス生産性向上ツール

🤖 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% 向上させ、毎日何百回もマウス クリックを減らすことができます!
Comments (5)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I like this formula, but often times i will have a blank cell in my data range and yet this formula won't work with blanks. how would i handle blank cells?
This comment was minimized by the moderator on the site
Thanks! This was helpful. I found that the formula below did the trick. I just needed to select a range to combine text, but didn't want to duplicate values.
=TEXTJOIN(", ",TRUE,UNIQUE($A2:$K2,TRUE))
This comment was minimized by the moderator on the site
This is a much easier way to join unique items based on another column:

=TEXTJOIN(", ",TRUE,UNIQUE(IF(Table1[Category]=Table2[Unique Categories],Table1[Items to Join],"")))

Works a treat, I use it a lot.
This comment was minimized by the moderator on the site
Thanks a Lot. You saved me.
This comment was minimized by the moderator on the site
Omg. You're a lifesaver, I was trying way more complex formulas and this worked like a charm! Thank you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations