
Загальна формула
=INDEX(CHOOSE(number,array1,array2),MATCH(value,range,0))
Резюме
Щоб налаштувати формулу INDEX і MATCH, де масив, наданий INDEX, є змінним, ви можете використовувати функцію ВИБІР. У наведеному прикладі формула в I5, скопійована вниз, має вигляд:
=INDEX(CHOOSE(H5,Table1,Table2),MATCH(G5,Table1(Model),0),2)
З таблицями 1 та 2, як зазначено на знімку екрана.
Пояснення
По суті, це звичайна функція INDEX і MATCH:
=INDEX(array,MATCH(value,range,0))
Де функція MATCH використовується для пошуку правильного рядка, який потрібно повернути з масиву, а функція INDEX повертає значення в цьому масиві.
Однак у цьому випадку ми хочемо зробити змінну масиву, щоб діапазон, заданий INDEX, міг змінюватися на льоту. Ми робимо це за допомогою функції ВИБІР:
CHOOSE(H5,Table1,Table2)
Функція CHOOSE повертає значення зі списку за допомогою заданої позиції або індексу. Значення може бути константою, посиланням на комірку, масивом або діапазоном. У прикладі числовий індекс наводиться у стовпці H. Коли номер індексу дорівнює 1, ми використовуємо таблицю1. Коли індекс дорівнює 2, ми подаємо таблицю2 до INDEX:
CHOOSE(1,Table1,Table2) // returns Table1 CHOOSE(2,Table1,Table2) // returns Table2
Примітка: діапазони, надані в ВИБІР, не повинні бути таблицями або іменованими діапазонами.
У I5 число в стовпці H дорівнює 1, тому CHOOSE повертає таблицю1, і формула вирішує:
=INDEX(Table1,MATCH("A",Table1(Model),0),2)
Функція MATCH повертає позицію "A" у Таблиці1, яка дорівнює 1, а INDEX повертає значення в рядку 1, стовпець 2 Таблиці1, що становить $ 20,00
=INDEX(Table1,1,2) // returns $20.00