Анализ на функцията INDIRECT чрез примери

На пръв поглед (особено при четене на помощта) функциятаINDIRECTизглежда проста и дори ненужна. Същността му е да превърне текст, който прилича на връзка, в пълноценна връзка. Тези. ако трябва да препратим към клетка A1, тогава можем или да направим директна връзка по обичайния начин (напишете знак за равенство в D1, щракнете върху A1 и натиснете Enter), или можем да използвамеINDIRECTза същата цел:

чрез

"Е, добре", казвате вие. — И каква е ползата?

Но не съдете по първото впечатление - то е измамно. Тази функция може да ви помогне в много ситуации.

Пример 1. Транспониране

бразда към хоризонтала (транспониране). Разбира се, можете да използвате Paste Special или функциятаTRANSPOSEвъв формула за масив, но можете да се справите с нашияINDIRECT:

анализ

Обратната процедура е по-добре да се направи малко по-различно. Тъй като този път трябва да формираме връзка към клетки B2, C2, D2 и т.н., е по-удобно да използваме режима на връзка R1C1 вместо класическата "морска битка". В този режим нашите клетки ще се различават само по номера на колоната: B2=R1C 2 , C2=R1C 3 , D2=R1C 4 и т.н.

примери

Пример 2. Сумиране по интервал

Вече обсъдихме един начин за сумиране върху прозорец (диапазон) с даден размер на лист с помощта на функциятаOFFSET). Подобен проблем може да бъде решен сINDIRECT. Ако трябва да обобщим данни само от определен диапазон-период, тогава можем да ги слепим от парчета и след това да ги превърнем в пълноценна връзка, която можем да вмъкнем във функциятаSUM (SUM):

примери

Пример 3. Падащ списък с интелигентна таблица

Понякога Microsoft Excel не разпознава имена и колони на интелигентни таблици като пълни препратки.Така например, когато се опитваме да създадем падащ списък (разделДанни - Проверка на данни) въз основа на колонатаСлужителиот интелигентната таблицаХора, ще получим грешка:

анализ

Ако „обвием“ връзката с нашата функцияINDIRECT, тогава Excel ще я приеме и нашият падащ списък ще се актуализира динамично при добавяне на нови служители в края на интелигентната таблица:

чрез

Пример 4. Неразрушими връзки

примери

Ако поставите обикновени връзки (въведете =B2 в първата зелена клетка и я копирайте), тогава, когато изтриете например Даша, ще получим грешка #LINK! в зелената клетка, съответстваща на нея. (#REF!). Ако използвате функциятаINDIRECTза създаване на връзки, няма да имате този проблем.

Пример 5: Събиране на данни от множество листове

Да предположим, че имаме 5 листа с доклади от един и същи тип от различни служители (Михаил, Елена, Иван, Сергей, Дмитрий):

анализ

Да предположим, че формата, размерът, позицията и последователността на стоките и месеците във всички таблици са еднакви - различават се само числата.

Можете да събирате данни от всички листове (не ги сумирайте, а ги поставяйте един под друг в "купчина") само с една формула:

примери

Както можете да видите, идеята е същата: залепваме връзката към желаната клетка от дадения лист иINDIRECTя превръща в "жива". За удобство над таблицата добавих буквите на колоните (B,C,D), а вдясно - номерата на редовете, които трябва да се вземат от всеки лист.

Подводни скали

Когато използватеINDIRECT(INDIRECT), трябва да сте наясно със слабостите му: