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

Например, у меня есть две таблицы

Sheet 1

Name         email
John Doe     john@website
Jane Doe     jane@website
Greg Smith   greg@website

Sheet 2

email          status
john@website   active
greg@website   inactive
susan@website  inactive

Используя команду =IFERROR(VLOOKUP(B1, 'Sheet 2'!A:B, 2, FALSE), 0) из слияния двух файлов Excel с использованием общего столбца, я могу получить следующий результат

Sheet 1

Name         email          status
John Doe     john@website   active
Jane Doe     jane@website   0
Greg Smith   greg@website   inactive

Но я также хотел бы сделать третий лист, который имеет ряды Листа 2, которые не пересекаются с Листом 1. Таким образом, желаемый результат

Sheet 3

email          status
susan@website  inactive

Как я могу это сделать? Я играл с другими командами VLOOKUP, но я не уверен, как сказать VLOOKUP найти несоответствующие значения.

1 ответ1

1

Это зависит от того, насколько элегантно / чисто решение вам нужно / "хочется" ...

В [Sheet3] вы можете иметь столбец и установить его равным столбцу значения ключа в [Sheet2] ... затем выполнить VLOOKUP для этого [Sheet3] [столбца значения ключа] для таблицы в [Sheet1], оборачивая его в ИФЕРРОР ().

Ячейки, которые выдают ошибку, не существуют в [Sheet1] ... конечно, у вас будет много "пробелов", вероятно, но это можно исправить с помощью сортировки данных, если это необходимо.

PS Кстати, это попрошайничество для таблиц БД и ВНУТРЕННИХ и ВНЕШНИХ СОЕДИНЕНИЙ; или если вам нужно красивое решение и вы не возражаете против написания кода, вы можете попробовать: https://blogs.msdn.microsoft.com/ericwhite/2008/11/20/inner-join-of-two-excel-tables/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .