Excel имя листа в ячейку

Excel имя листа в ячейку

Excel работает за вас

Excel works!

Thanks for Visiting

Как использовать имя листа в Excel?

У каждого листа есть название. В одной книге Excel может быть 256 листов. Как использовать имя листа в Excel, чтобы упростить расчеты для множества листов? Например, вам нужно собрать сумму определенного столбца формулой со всех листов, как использовать имя листа в Excel для сбора данных? Ниже предлагаю описание этой возможности табличного редактора.

Имя листа Excel в расчетах

Конкретный пример. Есть два листа с данными по годам Сумма1 и Сумма2, необходимо посчитать сумму по этим листам. При этом необходимо использовать имя листа в формуле. Т.е. если добавить любое количество листов, была бы возможность быстро рассчитать эту сумму.

Для таких расчетов существует замечательная функция =ДВССЫЛ()

По факту в ней необходим один аргумент — ссылка на ячейку. Есть еще необязательный аргумент для определения типа ссылок (R1C1 или A1 — по умолчанию A1).

Чтобы указать имя листа в аргументе (ссылку) нужно воспользоваться возможностью сцепить. Разберем на примере

C$2 — ячейка в которой записано имя листа на который ссылаемся (в нашем случае Сумма1 и Сумма2 )

& — символ сцепки

«» — значит, что внутри ячеек воспринимается Excel как текст

!b2 — текстовое значение той ячейке на которую ссылаемся

Решение примера выше можно посмотреть в примере .

Вернуть имя листа в Excel в ячейку

Проще всего наверное макросом, создаем макрос и вносим в него такой текст:

Т.е. ячейке A1 мы этим макросом присваиваем имя листа (не забудьте запустить макрос)

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

Читайте также:  Air пульт для smart tv

Мы используем функцию ПРАВСИМВ для того, чтобы отделить нужное количество символов в возвращенном полном имени файла при помощи ЯЧЕЙКА («имяфайла») — например, C:Users[Имя листаxlsb]Лист1

Далее мы считаем количество ячеек которых нужно оделить справа — т.е. находим полную длину пути файла (ДЛСТР(ЯЧЕЙКА(«имяфайла»))) и вычитаем из нее количество символов до знака ]

В итоге получаем, что из текста C:Users[Имя листаxlsb]Лист1 нам с правой стороны нужно отделить 5 символов — Лист1

Формулу можно ввести в любую ячейку, так что не должно возникнуть проблем.

Имя файла в Excel

Так же можно вернуть в ячейке имя файла Excel

Формула будет иметь вид:

«имяфайла» — это именно такой аргумент, так и надо записывать.

Разберем несколько вариантов добавления имени листа в ячейку в Excel с помощью формул.

Формула имени листа в Excel

Чтобы присвоить ячейке имя листа в Excel можно воспользоваться следующей формулой:

=ПСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 );ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ))+1;255)

Давайте по шагам разберем принцип действия формулы имени листа.

Шаг 1. Функция ЯЧЕЙКА

Функция ЯЧЕЙКА позволяет получить данные о содержимом ссылки, в том числе и имя файла.
В данном случае формула ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ) позволяет получить полный путь файла Excel на локальном диске:


Как мы видим название листа идет сразу после названия файла, обрамленного в квадратные скобки.

Шаг 2. Функция ПОИСК

Таким образом для извлечения имени листа необходимо найти символ закрывающейся квадратной скобки (]) с помощью функции ПОИСК, которая возвращает позицию первого вхождения искомого элемента:


Прибавляя к результату 1, мы получаем позицию с которой начинается имя листа.

Шаг 3. Функция ПСТР

После нахождения квадратной скобки нам достаточно извлечь из полного названия файла правую часть, применив функцию ПСТР.
Данная функция возвращает заданное количество знаков, начиная с указанной позиции.

Читайте также:  8 10 800 Стоимость звонка


Так как точное количество символов в имени листа неизвестно, то в качестве последнего аргумента функции ПСТР указываем заведомо большее число, чем длина имени листа (подойдет любое число больше 31 — максимальная длина названия листа).

Альтернативная формула

Чтобы вставить название листа в ячейку можно воспользоваться альтернативной формулой:

=ПРАВСИМВ(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 );ДЛСТР(ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 ))-ПОИСК(«]»;ЯЧЕЙКА(«ИМЯФАЙЛА»; A1 )))

Отличие от предыдущего варианта заключается в использовании функции ПРАВСИМВ, которая возвращает указанное количество знаков с конца текста.

Описание используемых функций

Функция ЯЧЕЙКА:

ЯЧЕЙКА(тип_сведений; [ссылка])
Возвращает сведения о форматировании, адресе или содержимом первой ячейки ссылки.

  • Тип сведений(обязательный аргумент) — текстовое значение, задающее тип сведений о ячейке (например, адрес, столбец, цвет, имяфайла, формат, скобки и т.д.);
  • Ссылка(необязательный аргумент) — ячейка, по которой возвращаются данные.

Функция ПОИСК:

ПОИСК(искомый_текст; просматриваемый_текст; [начальная_позиция])
Возвращает позицию первого вхождения знака или строки текста (при чтении слева направо, прописные и строчные буквы не различаются).

  • Искомый текст(обязательный аргумент) — искомый текст
  • Просматриваемый текст(обязательный аргумент) — текст, по которому производится поиск;
  • Начальная позиция(необязательный аргумент) — номер знака в просматриваемом тексте, с которого следует начать поиск.

Функция ПСТР:

ПСТР(текст; начальная_позиция; число_знаков)
Возвращает заданное число знаков из строки текста, начиная с указанной позиции.

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

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

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

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

Читайте также:  Alcatel one touch не работает сенсор

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

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

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

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

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

Ссылка на основную публикацию
Adblock detector