Excelで重複なしに列のテキストを結合するにはどうすればよいですか?
Excelで列からセルに重複なしでテキストを結合する方法をご存知ですか?また、特定のセル値に基づいて重複なしで列のテキストを結合する場合はどうすればよいですか?この記事ではこれらの問題を解決するための方法を提供します。
数式を使用して重複なしに列のテキストを結合する
VBAコードを使用して別のセル値に基づき重複なしに列のテキストを結合する
驚くべきツールを使用して、別のセル値に基づき簡単に列のテキストを結合する
セル結合に関するその他のチュートリアル…
数式を使用して重複なしに列のテキストを結合する
以下のスクリーンショットに示すように、列Aのテキストを重複なしで1つのセルに結合したいとします。次の手順を実行してください。
1. 空のセルを選択し、以下の数式をコピーして貼り付け、Alt + Shift + Enterキーを同時に押します。
=TEXTJOIN(", ", TRUE, IF(MATCH(A2:A12, A2:A12, 0)=MATCH(ROW(A2:A12), ROW(A2:A12)), A2:A12, ""))
注: 数式内の “, ” は結合されたテキストの区切り文字です。A2:A12は結合する列のセルです。必要に応じて変更してください。
これで指定した列のテキストが重複なしで結合されました。
VBAコードを使用して別のセル値に基づき重複なしに列のテキストを結合する
時々、別のセルの値に基づいて列のテキストを重複なしで結合する必要があるかもしれません。以下のスクリーンショットに示す場合、次のように操作できます。
1. テキストを結合するワークシートで、Alt + F11キーを押してMicrosoft Visual Basic for Applicationsウィンドウを開きます。
2. Microsoft Visual Basic for Applicationsウィンドウで、挿入 > モジュールをクリックし、以下の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ボタンをクリックします。
すると、一意の値が抽出され、それに対応する別の列のテキストが結合され、新しいワークシートに配置されます。
驚くべきツールを使用して、別のセル値に基づき簡単に列のテキストを結合する
Kutools for Excel を適用する前に、まずダウンロードしてインストールしてください。
注: このツールは元の範囲に直接適用されるため、以下の操作を行う前に元のデータのコピーを作成してください。
1. 結合するテキストとその基準となる値を含む範囲を選択し、Kutools > 結合 & 分割 > 高度な行のマージをクリックします。
2. 高度な行のマージダイアログで、次のように操作します:
- 結合するテキストの基準となる値を含む列を選択し、メインキーをクリックします;
- セルに結合するテキストを含む列を選択し、結合 > カンマをクリックします;
- 残りの列がある場合、それらの条件を指定してください。この場合、販売列を選択し、計算 > 合計を選択します。
- OKボタンをクリックします。スクリーンショットを見る:
これで、指定した列のすべてのテキストがキーカラムに基づいて結合されました。スクリーンショットを見る:
このユーティリティを無料で試用したい場合(30日間)、こちらをクリックしてダウンロードし、上記の手順に従って操作を適用してください。
関連記事
Excelで重複行を結合して値を合計する
Excelで、重複エントリを含むデータ範囲があり、重複データを結合して対応する値を別の列で合計したい場合があります。この問題を解決するには、この記事の方法をお試しください。
Excelでスペース、カンマ、またはその他の区切り記号で複数のセルを1つのセルに結合する
複数の列または行のセルを1つのセルに結合するとき、結合されたデータは区切り記号なしで表示されることがあります。しかし、スペース、カンマ、セミコロン、またはその他の指定された記号で区切りたい場合はどうすればよいですか?このチュートリアルではいくつかの方法を紹介します。
Excelで日付/数値書式を保持しながらセルを連結する
ExcelでCONCATENATE関数を使用すると、日付形式(2014-01-03)や通貨形式($734.7)、パーセンテージ形式(48.9%)、小数点以下桁数(24.5000)などの数値形式が削除され、連結結果では一般的な数値として表示されることに気付いたかもしれません。この記事では、Excelで日付または数値形式を保持しながらデータを連結するためのいくつかの解決策を提案します。
Excelで連結関数を逆にする
ご存知の通り、ExcelのConcatenate関数は複数のセルを1つのセルに結合するのに役立ちますが、時にはConcatenate関数とは逆の操作、つまりセルを結合するのではなく、セルの値を複数の分離されたセルに分割したい場合もあります。この記事の方法はその問題を解決するのに役立ちます。
Excelで別の列に同じ値が存在する場合にセルを連結する
この記事では、Excelで別の列に同じ値が存在する場合にセルを簡単に連結する方法を提供します。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!