ВПР и ЕСЛИ в нескольких листах Excel

ВПР и ЕСЛИ в нескольких листах Excel

У меня есть два листа Excel, как показано ниже, в рабочей книге.

Лист 1 и 2:

введите описание изображения здесь

Ниже приведено соотношение полей между двумя листами.

  • EID такой же, как EmID
  • DepID такой же, как DependentID
  • DepDOB — то же самое, что и DependentDOB

Я хотел бы сравнить EID с EmID. Если совпадают, выполните еще одно сравнение DepID с DependentID. Если DepID пуст, то сравните DepDOB с DependentDOB. Когда все это верно, получите DependentFirstName и DependentLastName из Sheet2 и скопируйте их в новый столбец в Sheet 1.

На изображении ниже представлен предполагаемый мной результат.

Выход:

введите описание изображения здесь

Пожалуйста, посоветуйте метод, как этого добиться. Если VLOOKUP и IF должны быть объединены, пожалуйста, дайте мне знать формулу. Это вызывает у меня кошмары :(

решение1

Решение по запросу

Простой способ сделать это в запрошенном вами порядке — с помощью вспомогательных столбцов. Допустим, лист 1 выглядит как ваш пример вывода, с показанными столбцами A:F, а лист 2 также показывает A:F. Допустим, мы используем столбец G в качестве вспомогательного столбца на каждом листе.

Вспомогательный столбец объединяет три значения сравнения. Таким образом, на каждом листе G2 будет содержать:

=A2&E2&F2

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

VLOOKUP требует, чтобы столбец поиска был самым левым в массиве. Вы можете выполнить тот же стиль поиска с помощью INDEX плюс MATCH, который не имеет этого ограничения. Лист 1, C2 будет содержать:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),1)

и в D2:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),2)

Скопируйте их вниз по столбцу. MATCH находит ключ, который соответствует строке на листе 2, и возвращает соответствующие имена.

Скриншот

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

Более простое решение

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

=LEFT(B2,FIND(" ",B2)-1)

и D2 будет:

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

Связанный контент