Пересечение двух массивов excel

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

Найти пересечение двух списков по формуле
Найдите пересечение двух списков с Kutools for Excel


Найти пересечение двух списков по формуле

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

1. Выберите пустой столбец, скопируйте формулу. =IF(ISERROR(MATCH(B2,$C$2:$C$9,0)),»»,B2) в панель формул и нажмите клавишу Enter. Смотрите скриншот:

Внимание: В формуле B2 — это первая ячейка первого списка, $ C $ 2: $ C $ 9 — это диапазон второго списка. Пожалуйста, измените их в зависимости от ваших потребностей.

2. Теперь обнаруживается первое пересечение, выберите его и перетащите маркер заливки вниз, чтобы получить все. Смотрите скриншот:


Найдите пересечение двух списков с Kutools for Excel

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

1. Нажмите Кутулс > Выберите > Выберите одинаковые и разные ячейки

2. в Выберите одинаковые и разные ячейки диалоговое окно, вам необходимо:

2.1 Выберите первый список и второй список без заголовков отдельно в Найдите значения в Согласно информации коробки;

2.2 Выберите Каждый ряд вариант в на основании раздел;

2.3 Выбрать Те же значения в Найти раздел;

2.4 Укажите цвет фона или цвет шрифта в Обработка результатов раздел для выделения перекрестков по мере необходимости;

2.5 Щелкните значок OK кнопка. Смотрите скриншот:

3. Затем появляется диалоговое окно, в котором указывается, сколько ячеек было выбрано, нажмите OK кнопка. И вы можете видеть, что все перекрестки выбраны и выделены в первом списке, как показано на скриншоте ниже:

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Демонстрация: найти пересечение двух списков с помощью Kutools for Excel


Статьи по теме:

  • Как найти и заменить все пустые ячейки на определенное число или текст в Excel?
  • Как заменить запятые на новые строки (Alt + Enter) в ячейках в Excel?
  • Как создать код макроса для поиска и замены текста в Excel?
  • Как найти и заменить названия вкладок листов в Excel?
  • Как найти значение в ячейке со списком, разделенным запятыми в Excel?

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

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


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

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

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

I have two columns filled with numbers and N/A. How can I find the intersection of two arrays without using VBA?
Let’s say in A2:A8 I have (1,3,4,7,10,»N/A»,12) and in B2:B10 I have (2,3,5,7,15,20,40,»N/A»,60). I need the intersection, excluding «N/A», which should be (3,7) for this example.

asked Feb 26, 2016 at 19:21

Hamed's user avatar

1

In C2 you could use a formula like:

 =if(AND(countif($A$2:$A$8, B2)>0,NOT(ISNA(B2))), B2, "")

And copy that down to C10. The result will be the intersection excluding #N/A

That formula is saying «If there is a match in A2:A8 for B2 AND B2 is not #N/A then grab B2 otherwise grab nothing»

It could be simplified and it would just spit out a true/false with:

=countif($A$2:$A$8, B2)>0 * NOT(ISNA(B2)) 

Which is the same thing without the IF wrapped around it.

answered Feb 26, 2016 at 20:30

JNevill's user avatar

JNevillJNevill

45.8k3 gold badges36 silver badges60 bronze badges

1

In your example, the expected result (3,7) represents numbers that are both on the same rows in the columns A and B.
I therefore assume that same numbers on different rows will not be included.

column C:

=IF(OR(ISNA(A1),ISNA(B1)),"",IF(A1=B1,A1,""))

answered Feb 26, 2016 at 22:19

gavi's user avatar

gavigavi

1566 bronze badges

Что-то вроде. Алгоритм немного отличается от слэнова — тут один словарь. Поэтому в двух массивах выгружаются все записи, попадающие под условие, а в третьем только уникальные.  
Но если списки изначально уникальные, то во всех массивах будут уникальные.  

  Option Explicit  

  Sub FindValues()  

  Dim a, aa, b, bb, bbb, i&, ii&, iii&, dic As Object, x  

  ‘a = Range(«a1:a20»)  
a = Range([A1], Range(«A» & Rows.Count).End(IIf(Len(Range(«A» & Rows.Count)), xlDown, xlUp)))
‘b = Range(«b1:b20»)  
b = Range([B1], Range(«B» & Rows.Count).End(IIf(Len(Range(«B» & Rows.Count)), xlDown, xlUp)))

  ReDim aa(1 To UBound(a), 1 To 1)  
ReDim bb(1 To UBound(b), 1 To 1)  
ReDim bbb(1 To UBound(b), 1 To 1)  

  Set dic = CreateObject(«Scripting.Dictionary»)  

  For Each x In a  
If dic.exists(CStr(x)) Then  
Else  
dic.Add CStr(x), 0  
End If  
Next  

  For Each x In b  
If dic.exists(CStr(x)) Then  
dic.Item(CStr(x)) = 1 ‘признак, что есть в b()  
iii = iii + 1  
bbb(iii, 1) = x ‘массив тех, кто из b() есть в a()  
Else  
ii = ii + 1  
bb(ii, 1) = x ‘массив тех, кого из b() нет в а()  
End If  
Next  

  For Each x In dic  
If dic.Item(x) = 0 Then  
i = i + 1  
aa(i, 1) = x ‘массив тех, кого из a() нет в b()  
End If  
Next  

  [d1] = «из B есть в A: » & iii
[d2].Resize(iii, UBound(bbb, 2)).Value = bbb ‘выгружаем результат
[e1] = «из B нет в A: » & ii
[e2].Resize(ii, UBound(bb, 2)).Value = bb ‘выгружаем результат
[f1] = «из A нет в B (уникальные): » & i
[f2].Resize(i, UBound(a, 2)).Value = aa ‘выгружаем результат

  End Sub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub InterUnion(A(), B(), I(), U())
Dim x, dI As Object, dU As Object
Set dI = CreateObject("scripting.dictionary")
Set dU = CreateObject("scripting.dictionary")
On Error Resume Next
For Each x In A
    dU.Add x, 1
Next
Err.Clear
For Each x In B
    dU.Add x, 2
    If Err Then
        If dU(x) = 1 Then dI.Add x, 0: dU(x) = 2: Err.Clear
    End If
Next
I = dI.keys
U = dU.keys
End Sub
 
Sub test()
Dim c(), d(), intr(), unn(), x
c = Array(1, 2, 3, 2, 3, "qw", "er", "qw")
d = Array(2, 4, 6, "er", "ty", "ty", 4, "er")
InterUnion c, d, intr, unn
Debug.Print "пересечение"
For Each x In intr
    Debug.Print x
Next
Debug.Print "объединение"
For Each x In unn
    Debug.Print x
Next
End Sub

На чтение 4 мин. Просмотров 743 Опубликовано 24.05.2021

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

Найдите пересечение двух списков с помощью формулы
Найдите пересечение двух списков с помощью Kutools for Excel

Легко найти пересечение (одинаковые значения) двух списков в Excel:

Утилита Выбрать одинаковые и разные ячейки из Kutools for Excel может помочь вам быстро найти и выбрать все пересечения двух списков в Excel. См. Снимок экрана:

Kutools for Excel : с более чем 200 удобными надстройками Excel, попробуйте бесплатно без ограничений в течение 60 дней. Загрузите бесплатную пробную версию прямо сейчас!

Вкладка Office Включите редактирование и просмотр с вкладками в Office и сделайте вашу работу намного проще …

Подробнее … Скачать бесплатно …

Kutools for Excel Решает Большинство ваших проблем и увеличивает вашу продуктивность на 80%.

  • Повторное использование чего угодно: добавьте наиболее часто используемые или сложные формулы, диаграммы и все остальное в избранное, и быстро использовать их в будущем.
  • Более 20 текстовых функций: извлечение числа из текстовой строки; Извлечь или удалить часть текстов; Преобразование чисел и валют в английские слова.
  • Инструменты слияния: несколько книг и листов в одну; Объединить несколько ячеек/строк/столбцов без потери данных; Объедините повторяющиеся строки и суммируйте.
  • Инструменты разделения: разделение данных на несколько листов в зависимости от значения; Из одной книги в несколько файлов Excel, PDF или CSV; Один столбец в несколько столбцов.
  • Вставить пропуск скрытых/отфильтрованных строк; Подсчет и сумма по цвету фона; Массовая отправка персонализированных писем нескольким получателям.
  • Суперфильтр: создавайте расширенные схемы фильтров и применяйте их к любым листам; Сортировать по неделе, дню, частоте и т. Д. Фильтр жирным шрифтом, формулами, комментарием …
  • Более 300 мощных функций; Работает с Office 2007-2019 и 365; Поддерживает все языки; Простое развертывание на вашем предприятии или в организации.

Подробнее … Бесплатная загрузка …

->


Содержание

  1. Найти пересечение двух списков по формуле
  2. Найдите пересечение двух списков с помощью Kutools for Excel
  3. Демо: Найдите пересечение двух списков с помощью Kutools for Excel
  4. Статьи по теме:

Найти пересечение двух списков по формуле

Приведенная ниже формула поможет вам найти пересечение двух списков в Excel. Пожалуйста, сделайте следующее.

1. Выберите пустой столбец, скопируйте формулу в панель формул и нажмите клавишу Enter. См. Снимок экрана:

Примечание : В формуле B2 – это первая ячейка первого списка, $ C $ 2: $ C $ 9 – это диапазон второго списка.. Пожалуйста, измените их в зависимости от ваших потребностей.

2. Теперь выясняется первое пересечение, выберите его, а затем перетащите маркер заполнения вниз, чтобы получить все. См. Снимок экрана:


Найдите пересечение двух списков с помощью Kutools for Excel

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

Перед применением Kutools for Excel , пожалуйста, сначала загрузите и установите его .

1. Нажмите Kutools > Выбрать > Выбрать одинаковые и разные ячейки .

2. В диалоговом окне Выбрать одинаковые и разные ячейки вам необходимо:

2.1 Выбрать первый список и второй список без заголовков отдельно в поля Найти значения в и Согласно ;

2.2. Выберите Каждая строка в разделе На основе ;

2.3. Выберите Одинаковые значения в Найти section;

2.4 Укажите цвет фона или цвет шрифта в разделе Обработка результатов , чтобы выделить пересечения по мере необходимости;

2.5 Нажмите кнопку OK . См. Снимок экрана:

3. Затем появится диалоговое окно, в котором указано, сколько ячеек было выбрано. Нажмите кнопку OK . И вы можете видеть, что все пересечения выбраны и выделены в первом списке, как показано на скриншоте ниже:

Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, , пожалуйста, нажмите, чтобы загрузить ее , а затем примените операцию в соответствии с вышеуказанными шагами.

Вкладка Office – просмотр, редактирование и управление с вкладками рабочих книг в Excel:

Вкладка Office предоставляет интерфейс с вкладками, как в веб-браузерах, таких как Google Chrome, новые версии Internet Explorer и Firefox в Microsoft Excel. Он станет незаменимым помощником в работе и сэкономит время. См. Демонстрацию ниже:

Нажмите, чтобы получить бесплатную пробную версию вкладки Office!

->


Демо: Найдите пересечение двух списков с помощью Kutools for Excel


Статьи по теме:

  • Как найти и заменить все пустые ячейки определенным числом или текстом в Excel?
  • Как заменить запятые на новые строки (Alt + Enter) в ячейках в Excel?
  • Как создать код макроса для поиска и замены текста в Excel?
  • Как найти и заменить имена вкладок листов в Excel?
  • Как найти значение в ячейку со списком, разделенным запятыми в Excel?

Понравилась статья? Поделить с друзьями:
  • Пересечение графика с осями координат excel
  • Перерасчет формул листа excel
  • Переполнение диска при записи word
  • Переплата по кредиту excel
  • Переписать pdf в word