сравнить несколько столбцов с несколькими столбцами 2 листа и вернуть разные столбцы, если данные совпадают

У меня есть 2 листа Excel. Один с информацией о клиенте, области отправки и продаж, а другой с информацией о клиенте и геокодированной информацией (долгое / долгое время) в столбцах. Что я хочу сделать, это сравнить столбцы CustomerID, LocationID, CustomerName Sheet2 с одноименными столбцами Sheet1 и, если они совпадают, переместите данные по долготе, столбцы Lattitude из Sheet2 в соответствующие столбцы на Sheet1. Мне нужна вся информация для загрузки в картографическую систему. Я не гуру Excel, на следующей неделе начинаю более продвинутые классы, и я играл с vLookups, но так и не смог заставить его работать для этого введите здесь описание изображения. Должен ли я использовать что-нибудь еще?

В приведенном ниже примере первый должен совпадать и вытягиваться в Sheet1, второй - нет. Нам нужно проанализировать около 7000 записей.

Лист1

CustomerID LocationID CustomerName Долгота Широта Продажи $ Dispatch 1234 1 Smith 125 DFW

4567 1 Джонс 450 DFW

Лист2

CustomerID LocationID CustomerName Долгота Широта Адрес Город

1234 1 Смит 25.xxx -97.xxx 1234 Мейн Даллас

4567 2 Джонс 25.xxx -97.xxx 452 Comm Буда


person Christina Hargrove    schedule 13.03.2019    source источник
comment
Всегда ли идентификатор клиента уникален? У вас не может быть двух одинаковых идентификаторов клиентов, верно? Кроме того, можете ли вы отредактировать свой вопрос в своей попытке использовать формулу VLOOKUP? Вероятно, мы сможем быстро исправить это для вас, если посмотрим, как вы это делали сами.   -  person gravity    schedule 13.03.2019
comment
Используйте Index с Match   -  person JvdV    schedule 13.03.2019


Ответы (1)


Это сложный поиск, и потребуется время, чтобы вычислить 14К (широта и долгота для 7К) ячеек данных.

В соответствии с предоставленным изображением поместите это в Sheet1! D2, затем перетащите вправо и заполните.

=IFERROR(INDEX(Sheet2!D:D, AGGREGATE(15, 7, ROW($1:$9999)/((Sheet2!$A:$A=$A2)*(Sheet2!$B:$B=$B2)*(Sheet2!$C:$C=$C2)), 1)), "")

Вы также можете попробовать СУММЕСЛИМН. Это будет работать только в том случае, если три комбинации значений уникальны в Sheet2, поэтому может потребоваться COUNIFS, но без него было бы быстрее.

=IF(COUNTIFS(Sheet2!$A:$A, $A2, Sheet2!$B:$B, $B2, Sheet2!$C:$C, $C2)=1, SUMIFS(Sheet2!D:D, Sheet2!$A:$A, $A2, Sheet2!$B:$B, $B2, Sheet2!$C:$C, $C2), "")
person Community    schedule 13.03.2019