KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как сравнить значения, разделённые запятыми, в двух ячейках Excel и получить дублирующиеся или уникальные значения?

АвторSiluviaДата изменения

Как показано на снимке экрана ниже, в Столбце1 и Столбце2 каждая ячейка содержит числа, разделённые запятыми. Как сравнить такие числа в Столбце1 с содержимым соответствующей ячейки в Столбце2 и получить все дублирующиеся или уникальные значения?

В этом руководстве описаны два метода, которые помогут вам легко справиться с этой задачей.

сравнение значений, разделенных запятыми, в двух ячейках


Сравнение значений, разделённых запятыми, в двух ячейках и возврат дублирующихся или уникальных значений с помощью формул

В этом разделе представлены две формулы для сравнения значений, разделённых запятыми, в двух ячейках и получения дублирующихся или уникальных значений между ними.

Примечание: приведённые ниже формулы работают только в Excel для Microsoft 365. Если вы используете другую версию Excel, попробуйте воспользоваться приведённым ниже методом VBA.

Возьмём те же два столбца в качестве примера. Чтобы сравнить числа, разделённые запятыми, в Столбце 1 с числами, разделёнными запятыми, в той же строке Столбца 2 и получить дублирующиеся или уникальные значения, выполните следующие действия.

образец данных

Вернуть Дублирующиеся значения

1. Выберите ячейку, в которую будут выводиться дублирующиеся числа из двух указанных ячеек с числами, разделёнными запятыми. В данном случае я выбираю ячейку D2, ввожу приведённую ниже формулу и нажимаю клавишу Enter. Затем выделите ячейку с формулой и перетащите её маркер автозаполнения вниз, чтобы получить дублирующиеся числа для других строк.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

 сравнение для возврата повторяющихся значений

Вернуть уникальные значения

Следующая формула поможет вернуть уникальные числа между двумя указанными ячейками, содержащими числа, разделённые запятыми, в той же строке.

1. Выберите ячейку для вывода уникальных чисел. В данном случае я выбираю ячейку E2, ввожу приведённую ниже формулу и нажимаю клавишу Enter. Затем выделите ячейку с формулой и перетащите её маркер автозаполнения вниз, чтобы получить уникальные числа в других строках.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

сравнение для возврата уникальных значений

Примечания:

1) Приведённые выше две формулы можно применять только в Excel для 365. Если вы используете версию Excel, отличную от Excel для 365, попробуйте следующий метод VBA.
2) Сравниваемые ячейки должны находиться рядом друг с другом в одной строке или столбце.
скриншот kutools for excel ai

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

Сравнение двух столбцов со значениями, разделёнными запятыми, и возврат дублирующихся или уникальных значений с помощью VBA

Пользовательская функция, описанная в этом разделе, позволяет сравнивать значения, разделённые запятыми, в двух указанных ячейках и возвращать либо дублирующиеся, либо уникальные значения между ними. Выполните следующие действия.

Возьмём тот же пример, что и выше. Чтобы сравнить числа, разделённые запятыми, в Столбце1 с числами, разделёнными запятыми, в той же строке Столбца2 и получить дублирующиеся или уникальные значения, попробуйте пользовательскую функцию из этого раздела.

 образец данных

1. В открывшейся книге нажмите клавиши Alt+F11, чтобы открыть окно Microsoft Visual Basic for Applications.

2. В окне Microsoft Visual Basic for Applicationsвыберите пункт Вставка>Модульи скопируйте следующий код VBA в окно Модуль (Код).

 скопируйте и вставьте код в модуль

Код VBA: сравнение значений, разделённых запятыми, в двух ячейках и возврат дублирующихся/уникальных значений

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. После вставки кода в окно Модуль (Код), перейдите по меню Сервис > Ссылки, чтобы открыть окно Ссылки – VBAProject, установите флажок напротив пункта Microsoft Scripting Runtime и нажмите кнопку ОК.

 выберите меню Сервис > Ссылки и установите флажок Microsoft Scripting Runtime

4. Нажмите клавиши Alt+Q, чтобы закрыть окно Microsoft Visual Basic for Applications.

5. Теперь вам нужно использовать две разные функции для получения дублирующихся и уникальных значений из двух ячеек, содержащих значения, разделённые запятыми.

Вернуть дублирующееся значение

Выберите ячейку для вывода дублирующихся чисел. В данном примере я выбираю ячейку D2, затем ввожу приведённую ниже формулу и нажимаю клавишу Enter, чтобы получить дублирующиеся числа между ячейками A2 и B2.

Выделите ячейку с формулой и перетащите её маркер автозаполнения вниз, чтобы скопировать числа в соответствующие ячейки других строк.

=COMPARE(A2,B2,TRUE)

 используйте формулу для возврата повторяющегося значения

Вернуть уникальные значения

Выберите ячейку для вывода уникальных чисел. В данном примере я выбираю ячейку E2, ввожу приведённую ниже формулу и нажимаю клавишу Enter, чтобы получить уникальные числа из диапазона между ячейками A2 и B2.

Выделите ячейку с формулой и перетащите её маркер автозаполнения вниз, чтобы создать уникальные значения в ячейках других строк.

=COMPARE(A2,B2,FALSE)

используйте формулу для возврата уникального значения

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек