Формула на Excel: Динамична справка за работен лист -

Съдържание

Обща формула

=INDIRECT(sheet_name&"!A1")

Обобщение

За да създадете формула с динамично име на лист, можете да използвате функцията INDIRECT. В показания пример формулата в C6 е:

=INDIRECT(B6&"!A1")

Забележка: Смисълът на INDIRECT тук е да се изгради формула, където името на листа е динамична променлива. Например можете да промените името на листа (може би с падащо меню) и да изтеглите информация от различен работен лист.

Обяснение

Функцията INDIRECT се опитва да оцени текста като препратка към работен лист. Това прави възможно изграждането на формули, които събират препратка като текст, използвайки конкатенация, и използват получения текст като валидна препратка.

В този пример имаме имена на листове в колона Б, така че ние присъединяваме името на листа към препратка към клетка A1, използвайки конкатенация:

=INDIRECT(B6&"!A1")

След конкатенацията имаме:

=INDIRECT("Sheet1!A1")

INDIRECT разпознава това като валидна препратка към клетка A1 в Sheet1 и връща стойността в A1, 100. В клетка C7 формулата изчислява по следния начин:

=INDIRECT(B7&"!A1") =INDIRECT("Sheet2!A1") =Sheet2!A1 =200

И така нататък, за всяка формула в колона В.

Обработка на интервали и пунктуация в имената на листове

Ако имената на листове съдържат интервали или препинателни знаци, ще трябва да коригирате формулата, за да увиете името на листа в единични кавички (') по следния начин:

=INDIRECT("'"&sheet_name&"'!A1")

където име_на лист е препратка, която съдържа името на листа. За примера на тази страница формулата ще бъде:

=INDIRECT("'"&B6&"'!A1")

Обърнете внимание, че това изискване не е специфично за функцията INDIRECT. Всяка формула, която се отнася до име на лист с интервал или пунктуация, трябва да включва името на листа в единични кавички.

Интересни статии...