Изтеглете примерната работна книга
Този урок ще покаже как да използвате функцията INDIRECT за определяне на диапазона за търсене в Excel и Google Sheets.
ИНДИРЕКТНО И ВЛУКВАНЕ
Може да се наложи да извършите VLOOKUP на няколко диапазона наведнъж, в зависимост от определени стойности на клетката. За тези случаи функцията INDIRECT може да се използва за определяне на диапазон за търсене или дори за създаване на динамична препратка към множество листове.
1 | = VLOOKUP ($ B3, INDIRECT ("'" & C $ 2 & "'!" & "B3: C5"), 2, FALSE) |
В горния пример имаме данни в диапазона B3: C5 на всеки лист, за който искаме да извършим търсене с точно съвпадение и да създадем обобщение. Вместо ръчно да променяме имената на листове, можем динамично да се позоваваме на листовете с функцията INDIRECT.
Нуждаем се от диапазона за търсене, за да изглежда C3:
1 | „2018!“ B3: C5 |
Функцията INDIRECT ни позволява да дефинираме диапазона, без да кодираме „2018“. По този начин формулата може да бъде копирана за други години.
ИЗБЕРЕТЕ & VLOOKUP
Функцията INDIRECT е „летлива“. Той преизчислява всеки път, когато Excel прави, и това може да доведе до бавно изчисляване на работната ви книга. Често можете да изпълнявате същата задача, като използвате други функции. По -долу ще демонстрираме как да използваме функцията CHOOSE вместо INDIRECT за определяне на обхвата на търсене. Функцията CHOOSE взема номер на индекс и списък със стойности, за да върне единична стойност от списъка.
1 | = ИЗБЕРЕТЕ (C2, VLOOKUP (B3, '2018'! B3: C5,2, FALSE), VLOOKUP (B3, '2019'! B3: C5,2, FALSE), VLOOKUP (B3, '2020'! B3: C5 , 2, НЕВЯРНО)) |
В този пример списъкът във функцията CHOOSE е всяка възможна формула VLOOKUP. Всеки диапазон е твърдо кодиран и всяка клетка се позовава на трите листа. Стойността на индекса в ред 2 казва на функцията кой елемент от списъка да използва, т.е. на кой лист да се извърши търсенето.
VLOOKUP & INDIRECT в Google Sheets
Тези формули работят същите в Google Sheets, както и в Excel.