Объединение данных из 2 разных файлов на основе сопоставления 2 столбцов

Объединение данных из 2 разных файлов на основе сопоставления 2 столбцов

Я вижу несколько интересных ситуаций и ответов на этом сайте, но я не уверен, какой подход лучше. У меня есть две таблицы, в столбце A которых содержатся имена, а в столбце B — фамилии. В таблице 1 содержится демографический список, а в таблице 2 — страховые полисы, групповые номера и названия компаний. В таблице 1 есть имена, которых нет в таблице 2, и наоборот. Я хочу добавлять данные из таблицы 2 только в том случае, если имя и фамилия находятся в одной строке таблицы 1.

Таким образом, если на Листе 2 имя и фамилия, расположенные в ячейках A2 и B2, соответствуют той же комбинации в столбцах 1 и 2 на Листе 1, я хочу добавить данные из Листа 2, найденные в ячейках C2, D2 и E2, в строку, где были найдены эти имя и фамилия.

решение1

Этого можно достичь несколькими способами.

Вы можете использовать Power Query для получения двух листов данных, а затем выполнить слияние со столбцами имени и фамилии в качестве двух ключевых полей. Все это можно сделать, нажимая на значки на лентах. Не нужно писать код.

Или вы можете использовать подход формулы. Опять же, есть разные способы сделать это:

  • создайте вспомогательный столбец с формулой, которая объединяет имя и фамилию =A1 & " " & B1или что-то в этом роде, затем используйте XLookup(), чтобы извлечь значения из листа 2 на основе найденного значения во вспомогательном столбце.

  • Если у вас нет XLookup, вы можете использовать более сложную формулу Index/Match, которая объединяет имя и фамилию в функции Match().

Предлагаю вам сначала попробовать подход helper column/Xlookup. Возможно, его будет проще понять и настроить. Xlookup() хорошо документирован на страницах Microsoft и в нескольких блогах.

решение2

Это решает проблему:

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

Как это работает:

  • Введите эту формулу массива (CSE) на Листе 1, в Ячейке H12, закончите с помощьюCtrl+Shift+Enterи заполнить поперек.

    {=IF(ISBLANK(H$11),"",IFERROR(INDEX(Sheet2!H$21:H$26,MATCH($F12&$G12,Sheet2!$F$21:$F$26&Sheet2!$G$21:$G$26,0)),""))}
    
  • При необходимости измените ссылки на ячейки в формуле.

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