Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как найти общие значения в 3 столбцах в Excel?

Author Xiaoyang Last modified

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

find common values in 3 columns

Найти общие значения в 3 столбцах с помощью формул массива

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


arrow blue right bubble Найти общие значения в 3 столбцах с помощью формул массива

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

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

=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0))))

Как использовать эту формулу массива:

  • После ввода формулы в выбранную ячейку нажмите Shift + Ctrl + Enter (не только Enter). Excel заключит формулу в фигурные скобки, чтобы указать, что это формула массива.
  • Перетащите формулу вниз по столбцу, пока не появятся пустые ячейки. Это выведет все значения, общие для трех столбцов, а пустые ячейки укажут на отсутствие дальнейших совпадений.

Find common values in3 columns with array formula

Примечания и пояснения параметров:

  1. Если вы предпочитаете другую формулу массива, эта также возвращает все уникальные значения, присутствующие во всех трех столбцах:
    =INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0))
    Опять же, помните, что нужно нажать Shift + Ctrl + Enter после ввода или вставки формулы.
  2. В этих формулах:
    • A2:A10, B2:B8, C2:C9 являются Диапазон данных в каждом из трех столбцов, которые вы хотите сравнить.
    • E1 относится к ячейке непосредственно над тем местом, где начинается ваша формула (для логики исключения). Настройте ссылки на ячейки в соответствии с вашими фактическими диапазонами данных и местом, где вы хотите, чтобы результаты появились.
  3. Эти методы хорошо работают для умеренных наборов данных, но могут замедлиться при очень больших объемах из-за вычислительной нагрузки формул массива.
  4. Будьте внимательны, чтобы не изменять исходные диапазоны на полпути, так как это может привести к неточным результатам или ошибкам в формулах.
  5. Если результат включает пустые строки, это означает, что все общие значения были извлечены, и оставшиеся ячейки не имеют дальнейших пересечений.
a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

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

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

Если вы предпочитаете автоматизированный подход, который не требует ввода или копирования сложных формул, вы можете использовать VBA Excel для прохождения по вашим данным и вывода только тех значений, которые присутствуют в каждом из трех столбцов. Этот метод особенно полезен для очень больших наборов данных или при работе с динамическими диапазонами, поскольку VBA более эффективен в обработке повторяющихся задач и пользовательских критериев.

1. Нажмите Разработчик > Visual Basic, чтобы открыть редактор VBA (если вкладка Разработчик не видна, вы можете включить ее через Файл > Параметры > Настроить ленту).

2. В редакторе VBA нажмите Вставка > Модуль, чтобы создать новый модуль. Затем вставьте код ниже в окно модуля:

Sub FindCommonValuesThreeColumns()
    Dim dict1 As Object
    Dim dict2 As Object
    Dim dict3 As Object
    Dim resultDict As Object
    Dim rngA As Range
    Dim rngB As Range
    Dim rngC As Range
    Dim cell As Range
    Dim outputRow As Long
    Dim key As Variant
    
    On Error Resume Next
    
    Set dict1 = CreateObject("Scripting.Dictionary")
    Set dict2 = CreateObject("Scripting.Dictionary")
    Set dict3 = CreateObject("Scripting.Dictionary")
    Set resultDict = CreateObject("Scripting.Dictionary")

    ' Prompt the user to select the three column ranges
    Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)

    ' Store all unique values from each column into corresponding dictionaries
    For Each cell In rngA
        If Not dict1.exists(cell.Value) And cell.Value <> "" Then
            dict1.Add cell.Value, 1
        End If
    Next

    For Each cell In rngB
        If Not dict2.exists(cell.Value) And cell.Value <> "" Then
            dict2.Add cell.Value, 1
        End If
    Next

    For Each cell In rngC
        If Not dict3.exists(cell.Value) And cell.Value <> "" Then
            dict3.Add cell.Value, 1
        End If
    Next

    ' Check which values exist in all three dictionaries
    For Each key In dict1.keys
        If dict2.exists(key) And dict3.exists(key) Then
            resultDict.Add key, 1
        End If
    Next

    ' Output result to next empty column on the active sheet
    outputRow = 1
    For Each key In resultDict.keys
        Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
        outputRow = outputRow + 1
    Next

    MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub

3. В окне VBA, с выбранным модулем, нажмите F5 или кнопку Выполнить (▶), чтобы выполнить код. Вам будет предложено последовательно выбрать каждый из трех диапазонов столбцов, которые вы хотите сравнить. Используйте мышь, чтобы выделить соответствующие ячейки на каждом этапе запроса.

4. Макрос обработает ваши выборки и выведет все значения, присутствующие во всех трех столбцах, в следующий пустой столбец справа от вашего текущего набора данных, начиная с первой строки.

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

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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