Загальна формула
=INDEX(data,MATCH(lookup,ids,0),2)
Резюме
Щоб об’єднати або об’єднати таблиці, що мають загальний ідентифікатор, ви можете використовувати функції INDEX та MATCH. У наведеному прикладі формула в E5 має вигляд:
=INDEX(data,MATCH($C5,ids,0),2)
де "data" - іменований діапазон H5: J8, а "ids" - іменований діапазон H5: H8.
Пояснення
Ця формула витягує ім’я та стан замовника із таблиці замовника в таблицю замовлень. Функція MATCH використовується для пошуку потрібного клієнта, а функція INDEX - для отримання даних.
Отримання імені клієнта
Працюючи зсередини, функція MATCH використовується, щоб отримати номер рядка, такий:
MATCH($C5,ids,0)
- Значення пошуку приходить до ідентифікатора клієнта в C5, який є змішаним посиланням, із заблокованим стовпцем, тому формулу можна легко скопіювати.
- Масив пошуку - це іменовані ідентифікатори діапазону (H5: H8), перший стовпець у таблиці клієнтів.
- Тип збігу встановлений на нуль, щоб змусити точне збіг.
У цьому випадку функція MATCH повертає 2, яке переходить у INDEX як номер рядка:
=INDEX(data,2,2)
Із номером стовпця, закодованим як 2 (імена клієнтів містяться в стовпці 2), і масивом, встановленим для іменованого діапазону "дані" (H5: J8), INDEX повертає: Емі Чанг.
Отримання стану клієнта
Формула отримання стану клієнта майже однакова. Єдина різниця полягає в тому, що номер стовпця кодується як 3, оскільки інформація про стан з’являється в 3-му стовпці:
=INDEX(data,MATCH($C5,ids,0),2) // get name =INDEX(data,MATCH($C5,ids,0),3) // get state
Динамічний двосторонній матч
Додавши до формули ще одну функцію MATCH, ви можете налаштувати динамічний двосторонній збіг. Наприклад, із названим діапазоном "заголовки" для H4: J4, ви можете використовувати формулу, як це:
=INDEX(data,MATCH($C5,ids,0),MATCH(E$4,headers,0))
Тут була додана друга функція MATCH для отримання правильного номера стовпця. MATCH використовує поточний заголовок стовпця в першій таблиці, щоб знайти правильний номер стовпця у другій таблиці, і автоматично повертає це число до INDEX.