![](https://cdn.wiki-base.com/6721394/excel_formula_dynamic_workbook_reference__2.png.webp)
Обща формула
=INDIRECT("'("&workbook&")"&sheet&"'!"&ref)
Обобщение
За да създадете динамична справка за работен лист - препратка към друга работна книга, която е създадена с формула, базирана на променливи, които могат да се променят - можете да използвате формула, базирана на функцията INDIRECT.
В показания пример формулата в Е6 е:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Обяснение
Същността на тази формула е да изгради пълна препратка към диапазон в друга работна книга като текст, след което да използва функцията INDIRECT, за да преобразува текста в действителна препратка.
Препратката към външен работен лист изглежда така:
„(примерни данни.xlsx) Лист1“! A1
Обърнете внимание на квадратните скоби (()) около името на работната книга, единични кавички ('') около работния лист + лист и удивителен знак (!), Който следва.
За да създадем референция като тази, използвайки текст, използваме конкатенация, за да обединим стойности от колони B, C и D с необходимите скоби, кавички и удивителен знак:
=INDIRECT("'("&B6&")"&C6&"'!"&D6)
Резултатът се подава в INDIRECT като ref_text:
=INDIRECT("'(sample data.xlsx)Sheet1'!A1")
След това функцията INDIRECT оценява текста и го преобразува в препратка. Excel следва препратката и връща стойността при дадената препратка.
Забележка: ако препратката е невалидна или ако посочената работна книга не е отворена, INDIRECT ще изведе грешка #REF. Можете да уловите тази грешка с функцията IFERROR и да покажете персонализиран резултат, ако искате.