Путь к текущей книге и новая функция LET


В повседневной работе с Microsoft Excel нередко возникают ситуации, когда хорошо было бы в какой-либо определенной ячейке вывести либо полный путь к текущей книге (от буквы диска до расширения), либо путь к текущей папке, где наша книга хранится. Сделать это можно несколькими способами.

Способ 1. Вручную

Идем в Файл - Сведения и жмём в верхней части кнопку Копировать путь (File - Info - Copy path). После этого полный путь к текущей книге окажется у нас в буфере, откуда его можно вставить куда угодно стандартным образом (например, сочетанием клавиш Ctrl+V).

Дешево и сердито, но при перемещении файла в другую папку придётся проделывать это всё ещё раз. Для автоматического обновления лучше использовать формулы.

Способ 2. Функция ЯЧЕЙКА

Уже очень давно в Excel есть встроенная функция ЯЧЕЙКА (CELL), которая может выводить кучу разной полезной информации:


Если использовать её с аргументом "имяфайла" ("filename"), то мы получим почти то, что нам нужно:

Путь к файлу из функции ЯЧЕЙКА

Останется только обрезать хвост после закрывающей квадратной скобки с помощью функций ЛЕВСИМВ (LEFT) и НАЙТИ (FIND) и убрать открывающую квадратную скобку функцией ПОДСТАВИТЬ (SUBSTITUTE):

Путь к текущей книге

Способ 3. Новая функция LET

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

Путь к текущей книге Excel с функцией LET

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

Ссылки по теме

  


29.06.2022 20:23:33
Подскажите, а если в имени файла и/или пути есть символы "]", "[", тогда как быть?
P.S. Заметил, что в функции Ячейка второй аргумент не обязательный, можно не указывать
30.06.2022 11:06:11
В этом случае функция ЯЧЕЙКА заменит квадратные скобки на круглые, но потом можно выполнить обратную замену с помощью функции ПОДСТАВИТЬ. Если же у вас в имени файла и круглые и квадратные скобки, то это уже проблема :)

P.S. Если не указывать второй аргумент функции ЯЧЕЙКА, то при функция будет ломаться при активации другой открытой книги.
30.06.2022 18:39:31
P.S. Если не указывать второй аргумент функции ЯЧЕЙКА, то при функция будет ломаться при активации другой открытой книги.
Да, действительно, спасибо!
Наверх