Как объединить тексты в столбце без дубликатов в Excel?
Знаете ли вы, как объединить тексты из столбца в одну ячейку без дубликатов в Excel? А что, если нужно объединить тексты в столбце без дубликатов на основе значения определенной ячейки? В этой статье представлены методы для решения этих задач.
Объединение текстов в столбце без дубликатов с помощью формулы
Объединение текстов в столбце без дубликатов на основе значения другой ячейки с использованием кода VBA
Легкое объединение текстов в столбце на основе значения другой ячейки с помощью удивительного инструмента
Больше руководств по объединению ячеек…
Объединение текстов в столбце без дубликатов с помощью формулы
Как показано на скриншоте ниже, вы хотите объединить тексты в столбце A в одну ячейку без дубликатов. Пожалуйста, действуйте следующим образом.
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 нажмите Insert > Module, затем скопируйте приведенный ниже код VBA в окно кода Module.
Код 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 для Excel, пожалуйста, сначала скачайте и установите его.
Примечание: Поскольку утилита будет применяться непосредственно к исходному диапазону, сделайте копию исходных данных перед выполнением следующих операций.
1. Выберите диапазон (включая тексты, которые вы хотите объединить, и значение, на основе которого вы будете объединять тексты), нажмите Kutools > Merge & Split > Расширенное объединение строк.
2. В диалоговом окне Расширенное объединение строк выполните следующие действия:
- Выберите столбец, содержащий значения, на основе которых вы будете объединять тексты, и нажмите Основной ключ;
- Выберите столбец, содержащий тексты, которые вы хотите объединить в одну ячейку, и нажмите Объединить > Запятая;
- Если остались другие столбцы, укажите для них условия. В данном случае я выбираю столбец Продажи и выбираю Вычисление > Сумма.
- Нажмите кнопку OK. Смотрите скриншот:
Теперь вы можете видеть, что все тексты в указанном столбце объединены на основе ключевого столбца. Смотрите скриншот:
Если вы хотите воспользоваться бесплатной пробной версией (30-день) этой утилиты, пожалуйста, нажмите, чтобы скачать её, а затем перейдите к выполнению операции согласно вышеуказанным шагам.
Связанные статьи
Объединение повторяющихся строк и суммирование значений в Excel
В Excel вы можете часто сталкиваться с такой проблемой: когда у вас есть диапазон данных, который содержит некоторые повторяющиеся записи, и вы хотите объединить дублирующиеся данные и просуммировать соответствующие значения в другом столбце, как решить эту проблему? Попробуйте методы, описанные в этой статье.
Объединение нескольких ячеек в одну с пробелами, запятыми или другими разделителями в Excel
При объединении ячеек из нескольких столбцов или строк в одну ячейку объединенные данные могут быть без разделителей. Но если вы хотите разделить их с помощью определенных знаков, таких как пробел, запятые, точка с запятой или других, как это сделать? В этом руководстве мы представляем несколько методов для вас.
Объединение ячеек с сохранением форматирования чисел/дат в Excel
Вы могли заметить, что при использовании функции CONCATENATE в Excel формат даты (2014-01-03) и формат чисел, такие как денежный формат ($734.7), процентный формат (48.9%), десятичные разряды (24.5000) и т.д., удаляются и отображаются как обычные числа в результатах объединения. В этой статье мы предлагаем несколько решений для объединения данных с сохранением форматирования даты или чисел в Excel.
Обратная функция объединения в Excel
Как всем известно, функция Concatenate в Excel помогает объединить несколько ячеек в одну, но иногда вы хотите сделать обратное — не объединять ячейки, а разделить значение ячейки на несколько отдельных ячеек. Методы в этой статье помогут решить эту проблему.
Объединение ячеек при наличии одинакового значения в другом столбце в Excel
В этой статье представлены методы, которые помогут вам легко объединить ячейки, если в другом столбце существует одинаковое значение в Excel.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Щелкните здесь, чтобы получить наиболее нужную вам функцию...
Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
- Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!