Перейти к основному содержанию

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

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

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


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

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

Внимание: Следующие формулы работают только в Эксель для 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) Сравниваемые ячейки должны находиться рядом друг с другом в одной строке или столбце.

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

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

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

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

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модулии скопируйте следующий код 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 и нажмите OK .

4. нажмите другой + Q ключи, чтобы закрыть Microsoft Visual Basic для приложений окно.

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

Вернуть повторяющееся значение

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

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

=COMPARE(A2,B2,TRUE)

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

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

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

=COMPARE(A2,B2,FALSE)

Лучшие инструменты для офисной работы

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

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations