![Переход по листам с помощью функции ГИПЕРССЫЛКА() и дополнительных функции ПОДСТАВИТЬ() ЯЧЕЙКА() ДВССЫЛ() СТРОКА() ИНДЕКС() ПОИСКПОЗ()](http://devsap.ru/wp-content/uploads/2021/12/Переход-по-листам-с-помощью-функции-ГИПЕРССЫЛКА-и-дополнительных-функции-ПОДСТАВИТЬ-ЯЧЕЙКА-ДВССЫЛ-СТРОКА-ИНДЕКС-ПОИСКПОЗ-1024x553.jpg)
Разбор только Формулы №2
=ГИПЕРССЫЛКА(ПОДСТАВИТЬ(ЯЧЕЙКА(«адрес»;ДВССЫЛ(«Лист»&(СТРОКА()-3)&»!A1″));»‘»;»»);СТРОКА()-3)
Задача:
Свободно перемещаться по большому количеству однотипных листов в рабочей открытой книге.
Используемые функции:
ГИПЕРССЫЛКА(), ПОДСТАВИТЬ(), ЯЧЕЙКА(), ДВССЫЛ(), СТРОКА(), ИНДЕКС(), ПОИСКПОЗ(),
Решение :
В первую очередь нам надо сформировать правильный адрес для гиперссылки.
ГИПЕРССЫЛКА(адрес;[имя])
адрес гиперссылки будет получен с помощью функции ЯЧЕЙКА(«тип сведений» ; «ссылка») и тип сведений выбираем «адрес» а для формирования ссылки нам понадобится функция ДВССЫЛ() с значением такого вида «Лист»&(СТРОКА()-2)&»!A1″
объединяем текст «Лист» с формулой СТРОКА() которая определяет номер строки собственно ячейки, дальше объединяем текст «!A1» и получаем ссылку на ячейку.
Будет Ошибка!! Если присмотрится в ссылке есть одинарная кавычка после Лист4‘ которую надо убрать ‘ для получения корректного адреса.
![](http://devsap.ru/wp-content/uploads/2021/12/Screenshot_21.jpg)
убрать одинарную кавычку нам поможет функция ПОДСТАВИТЬ()
ПОДСТАВИТЬ(текст в котором ищем: найти символ: заменить символ на пусто)
получается что то на подобии:
ПОДСТАВИТЬ(ЯЧЕЙКА(«адрес»;ДВССЫЛ(«Лист»&(СТРОКА()-2)&»!A1″));»‘»;»»)
и задача практически решена.
получив адрес для гиперссылку в правильном формате мы просто подставим готовое выражение и присвоим имя гиперссылку в дополнительном поле .
Получится вот так:
=ГИПЕРССЫЛКА(ПОДСТАВИТЬ(ЯЧЕЙКА(«адрес»;ДВССЫЛ(«Лист»&(СТРОКА()-3)&»!A1″));»‘»;»»);«Имя гиперссылки»)
Так же можно добавить и другие варианты наименования ссылки.
используя функцию СТРОКА() получаем номер строки из которого надо вычесть количество строк до нужный диапазон.
=ГИПЕРССЫЛКА(ПОДСТАВИТЬ(ЯЧЕЙКА(«адрес»;ДВССЫЛ(«Лист»&(СТРОКА()-2)&»!A1″));»‘»;»»);СТРОКА()-2)
Скачайте файл с образцом решения для разбора.