Vlookup будет ответом здесь.
Например, учитывая таблицу:
A,B
1,5
2,6
3,7
4,8
5,9
В C1 вставьте и перетащите его вниз:
=IF(ISNA(VLOOKUP(B1,$A$1:$A$6,1,FALSE)),"NOT IN A","IN A")
Col A должен быть отсортирован.
Выход:
A,B,C
1,5,In A
2,6,In A
3,7,Not in A
4,8,Not in A
5,9,Not in A
6, 10,Not in A
Чтобы разобраться в этом:
(VLOOKUP(B1,$A$1:$A$6,1,FALSE)
VLOOKUP берет ваш ввод (B1) и находит это значение в таблице поиска (A1: A6). $ Останавливает это изменение, когда вы тянете вниз. Он отодвигает столбец 1 таблицы поиска, в данном случае это столбец A. False говорит, что не соответствует нечеткому соответствию.
=IF(ISNA(VLOOKUP(B1,$A$1:$A$6,1,FALSE)),"NOT IN A","IN A")
Оборачивая это в ISNA, вы должны распечатать «NOT IN A» для успешной ISNA, т.е. где вы получаете NA как значение из vlookup, то есть оно не может найти значение. В противном случае он печатает IN A, где он может найти значение.
Может быть, больше, чем вы хотите узнать о VLOOKUP (HLOOKUP является горизонтальным эквивалентом), но с более крупной таблицей поиска вы можете выбрать другие значения, которые соответствуют вашему вводу. Это приблизительно соответствует соединению SQL.
Итак, с учетом таблицы данных клиента:
Name, ID, Phone
Alex, 1, 123-456-7890
Bob, 2, 111-111-1111
Alice, 3, 222-222-2222
Teresa, 4, 333-333-3333
Затем вы можете создать другую таблицу со вторым набором данных и использовать столбец для извлечения данных из этой таблицы.
например.
OrderNum, ClientID, Client Name
1, 3, VLOOKUP - Alice
2, 4, VLOOKUP - Teresa
3, 2, VLOOKUP - Bob
Это обычно полезно, когда дается отчет для обогащения.