У нас есть полезная функция в Excel, называемая функцией CELL, которую можно изменить, чтобы она возвращала имя листа, имя книги и путь к файлу.

В этой статье мы узнаем, как вернуть имя листа Excel.

Посмотрим, как это делается.

Учитывая, что нам нужна эта информация для текущего файла. Сначала давайте разберемся с функцией CELL. Синтаксис: = ЯЧЕЙКА (тип_информации, [ссылка]). Функция ЯЧЕЙКИ вернет информацию о форматировании, расположении или содержимом 1 ^ й ^ ячейки в ссылке. Info_type может быть именем файла, адресом, цветом и т. Д. В раскрывающемся раскрывающемся списке есть доступный список параметров, поэтому вы можете выбрать нужный. Ссылка — это текущая рабочая книга, которую вы используете.

img1

Файл в этом примере расположен по адресу «B: \». Чтобы получить путь к файлу, имя книги и имя листа, мы используем

img2

Это даст нам вывод в виде B: \ [Book1.xlsm] Sheet2, который представляет собой путь к файлу + имя книги + имя листа книги в этом примере.

Теперь давайте сделаем шаг вперед. Чтобы получить путь к файлу * только из B: \ [Book1.xlsm] Sheet2, мы используем

img3

MID (ЯЧЕЙКА («имя файла»), 1, НАЙТИ («[«, ЯЧЕЙКА («имя файла»)) — 1)

Выделенный раздел будет оценен первым, в результате чего будет найдено положение открывающей квадратной скобки «[» в функции. Он находит это как местоположение 4.

Затем наша функция сужается до = MID (CELL («имя файла»), 1,3). Нам нужны символы, начиная с 1 ^ st ^ символа и заканчивая 3 ^ rd ^ (4-1 = 3), используя функцию mid. Таким образом, мы получим путь к файлу без имени книги. И мы получаем результат как «B: \». Теперь давайте получим имя книги. Наша функция

img4

Нам нужно получить имя книги из этого результата B: \ [Book1.xlsm] Sheet2. Давайте разберемся, как это работает.

MID (CELL («имя файла») ,, FIND («[», CELL («имя файла»)) + 1, (FIND («]«, CELL («имя файла»))) — FIND («[«, CELL («Имя файла»)) — 1)

Выделенная часть будет оценена первой. Имя книги всегда заключено в квадратные скобки, поэтому мы должны искать открывающую квадратную скобку [и закрывающую квадратную скобку], и наш результат находится в пределах этих 2. Таким образом, эта часть функции вернет начальную позицию текста.

MID (CELL («имя файла»), FIND («[», CELL («имя файла»)) + 1, (FIND («]«, CELL («имя файла»))) — FIND («[«, CELL ( «Имя файла»)) — 1)

Эта выделенная часть будет оценивать последний параметр функции MID, который представляет собой количество символов, которые нужно извлечь из начальной позиции. Таким образом, он вычисляет позицию конечной квадратной скобки, которая в данном случае равна 15, и вычитает позицию начальной квадратной скобки, которая равна 4, и еще -1, чтобы исключить начальную квадратную скобку. Таким образом, функция mid завершается как = MID (CELL («filename»), 5,10), и мы получаем результат как Book1.xlsm, как в нашем примере.

Теперь давайте получим последний аспект, который является именем листа. Наша функция

img5

Это очень простая функция. Сначала вычисляется выделенный раздел в этой функции — = MID (CELL («имя файла») ,, FIND («]», CELL («имя файла»)) + 1,255)

Это даст нам положение конечной квадратной скобки + 1 (чтобы исключить прямоугольную скобку. В нашем примере это дает 15 + 1 = 16. Теперь мы непосредственно переходим к функции MID. Это выглядит как = MID (CELL («Filename»), 16,255). Мы просим функцию дать нам 255 (это максимальное количество символов, которое может содержать ячейка), начиная с 16 ^ -го символа ^ имени файла.

Итак, результат мы получаем Sheet2, как в этом примере.

В заключение, мы можем использовать ту же базовую функцию = CELL («имя файла») с некоторыми улучшениями для получения необходимой нам информации об имени файла.

Таким образом мы можем получить имя листа в ячейке с функцией ЯЧЕЙКА.