Определяем имя листа в EXCEL

history

Определим имя листа с помощью функции ЯЧЕЙКА() .


Имя листа можно определить с помощью функции ЯЧЕЙКА() , записав формулу (см. файл примера ): =ПРАВСИМВ(ЯЧЕЙКА("имяфайла");ДЛСТР(ЯЧЕЙКА("имяфайла"))-ПОИСК("]";ЯЧЕЙКА("имяфайла")))

Если формула вводится в новую книгу, то ее сначала нужно сохранить. После сохранения, возможно, потребуется нажать клавишу F9 (Вкладка Формулы , Группа Вычисление , Пересчет ).

Формула вернет имя листа, содержащего ячейку с вышеуказанной формулой. Если требуется определить имя другого листа, то можно использовать туже функцию ЯЧЕЙКА() , но с аргументом "адрес".

Для этого нужно, чтобы второй аргумент содержал ссылку на ячейку другого листа, имя которого и будет определено. Если формула =ЯЧЕЙКА("адрес";лист2!A1) находится на листе1 в ячейке B1 , то имя листа ( Лист2 ) можно определить по формуле:

=ПСТР(B1;ПОИСК("]";B1)+1;ДЛСТР(B1)-ПОИСК("]";B1)-5)

В этом случае имя листа не должно состоять только из цифр, т.к. если в качестве названия листа использовано число, то функция ЯЧЕЙКА() возвращает название книги и листа в апострофах (') и формула вернет неправильный результат. Справиться с этим поможет формула =ПОДСТАВИТЬ(C1;"'";"") , которая удалит символ апострофа.

Также предполагается, что имя файла не содержит символа закрывающая квадратная скобка ( ] ).

ВНИМАНИЕ ! Иногда, когда открыто несколько книг, функция ЯЧЕЙКА() может работать некорректно. Для восстановления работоспособности формулы нужно нажать клавишу F9 ( Формулы/ Вычисления/ Пересчет ).

ПРИМЕНЕНИЕ: При изменении имени листа, все ссылки в формулах автоматически обновятся и будут продолжать работать. Исключение составляет функция ДВССЫЛ() , в которой имя листа может фигурировать в текстовой форме ДВССЫЛ("Лист1!A1") . В статье Определение имени листа для использования в функции ДВССЫЛ() показано как использовать функцию ЯЧЕЙКА() , чтобы сохранить работоспособность формулы с функцией ДВССЫЛ() .


Комментарии

Только для авторизованных пользователей

Аноним, 27 ноября 2015 г.
Вот вам =ПСТР(ЯЧЕЙКА("filename";A2);ПОИСК("]";ЯЧЕЙКА("filename";A2))+1;31)
Михаил, 19 июля 2016 г.
О_о, тоже работает! Спасибо Вам большое!
(только для авторизованных пользователей)

© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved