Progress28.ru

IT Новости


09ae9cb0
13 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как задать имя диапазону в excel

Определение и использование имен в формулах

В этом курсе:

Использование имен позволяет значительно упростить понимание и изменение формул. Вы можете задать имя для диапазона ячеек, функции, константы или таблицы. Начав использовать имена в книге, вы сможете с легкостью обновлять, проверять имена и управлять ими.

Присвоение имени ячейке

Введите имя в поле Имя.

Нажмите клавишу ВВОД.

Присвоение имен из выделенного диапазона

Выберите диапазон, которому вы хотите присвоить имя, включая заголовки строк и столбцов.

На вкладке Формулы нажмите кнопку Создать из выделенного

В диалоговом окне Создание имен из выделенного диапазона укажите место, содержащее заголовки, установив флажок в строке выше в столбце слева, в строке ниже или в столбце справа.

Excel присвоит ячейкам имена на основе заголовков из указанного диапазона.

Использование имен в формулах

Выделите ячейку и введите формулу.

Поместите курсор туда, где вы хотите использовать в формуле имя.

Введите первую букву имени и выберите его из появившегося списка.

Или выберите Формулы > Использовать в формуле и выберите имя, которое хотите использовать.

Нажмите клавишу Ввод.

Управление именами в книге с помощью Диспетчера имен

На ленте выберите команды Формулы > Определенные имена > Диспетчер имен. Здесь можно создавать, редактировать, удалять и искать все имена, используемые в книге.

Присвоение имени ячейке

Введите имя в поле Имя.

Нажмите клавишу ВВОД.

Присвоение имен из выделенного диапазона

Выберите диапазон, которому вы хотите присвоить имя, включая заголовки строк и столбцов.

На вкладке Формулы нажмите кнопку Создать из выделенного

В диалоговом окне Создание имен из выделенного диапазона укажите место, содержащее заголовки, установив флажок в строке выше в столбце слева, в строке ниже или в столбце справа.

Excel присвоит ячейкам имена на основе заголовков из указанного диапазона.

Использование имен в формулах

Выделите ячейку и введите формулу.

Поместите курсор туда, где вы хотите использовать в формуле имя.

Введите первую букву имени и выберите его из появившегося списка.

Или выберите Формулы > Использовать в формуле и выберите имя, которое хотите использовать.

Нажмите клавишу Ввод.

Управление именами в книге с помощью Диспетчера имен

На ленте выберите команды Формулы > Определенные имена > Диспетчер имен. Здесь можно создавать, редактировать, удалять и искать все имена, используемые в книге.

В Excel в Интернете вы можете использовать именованные диапазоны, определенные в Excel для Windows или Mac. Выберите имя в поле «Имя» для перехода к расположению диапазона или использования именованного диапазона в формуле.

Сейчас создание нового именованного диапазона в Excel в Интернете недоступно.

Вы хотели бы эту функцию? Перейдите в раздел Excel Online User Voice и предложите ее!

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

См. также

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Имена в EXCEL

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

Имена часто используются при создании, например, Динамических диапазонов , Связанных списков . Имя можно присвоить диапазону ячеек, формуле, константе и другим объектам EXCEL.

Ниже приведены примеры имен.

Объект именования

Пример

Формула без использования имени

Формула с использованием имени

имя ПродажиЗа1Квартал присвоено диапазону ячеек C20:C30

имя НДС присвоено константе 0,18

имя УровеньЗапасов присвоено формуле ВПР(A1;$B$1:$F$20;5;ЛОЖЬ)

имя МаксПродажи2006 присвоено таблице, которая создана через меню Вставка/ Таблицы/ Таблица

имя Диапазон1 присвоено диапазону чисел 1, 2, 3

А. СОЗДАНИЕ ИМЕН

Для создания имени сначала необходимо определим объект, которому будем его присваивать.

Присваивание имен диапазону ячеек

Создадим список, например, фамилий сотрудников, в диапазоне А2:А10 . В ячейку А1 введем заголовок списка – Сотрудники, в ячейки ниже – сами фамилии. Присвоить имя Сотрудники диапазону А2:А10 можно несколькими вариантами:

1.Создание имени диапазона через команду Создать из выделенного фрагмента :

  • выделить ячейки А1:А10 (список вместе с заголовком);
  • нажать кнопку Создать из выделенного фрагмента(из меню Формулы/ Определенные имена/ Создать из выделенного фрагмента );
  • убедиться, что стоит галочка в поле В строке выше ;
  • нажать ОК.

Проверить правильность имени можно через инструмент Диспетчер имен ( Формулы/ Определенные имена/ Диспетчер имен )

2.Создание имени диапазона через команду Присвоить имя :

  • выделитьячейки А2:А10 (список без заголовка);
  • нажать кнопку Присвоить имя( из меню Формулы/ Определенные имена/ Присвоить имя );
  • в поле Имя ввести Сотрудники ;
  • определить Область действия имени ;
  • нажать ОК.

3.Создание имени в поле Имя:

  • выделить ячейки А2:А10 (список без заголовка);
  • в поле Имя (это поле расположено слева от Строки формул ) ввести имя Сотрудники и нажать ENTER . Будет создано имя с областью действияКнига . Посмотреть присвоенное имя или подкорректировать его диапазон можно через Диспетчер имен .

4.Создание имени через контекстное меню:

  • выделить ячейки А2:А10 (список без заголовка);
  • в контекстном меню, вызываемом правой клавишей, найти пункт Имя диапазона и нажать левую клавишу мыши;
  • далее действовать, как описано в пункте 2.Создание имени диапазона через команду Присвоить имя .

ВНИМАНИЕ! По умолчанию при создании новых имен используются абсолютные ссылки на ячейки (абсолютная ссылка на ячейку имеет формат $A$1 ).

Про присваивание имен диапазону ячеек можно прочитать также в статье Именованный диапазон .

5. Быстрое создание нескольких имен

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

Необходимо создать 9 имен (Строка1, Строка2, . Строка9) ссылающихся на диапазоны В1:Е1 , В2:Е2 , . В9:Е9 . Создавать их по одному (см. пункты 1-4) можно, но долго.

Чтобы создать все имена сразу, нужно:

  • выделить выделите таблицу;
  • нажать кнопку Создать из выделенного фрагмента(из меню Формулы/ Определенные имена/ Создать из выделенного фрагмента );
  • убедиться, что стоит галочка в поле В столбце слева ;
  • нажать ОК.
Читать еще:  Код формата в excel

Получим в Диспетчере имен ( Формулы/ Определенные имена/ Диспетчер имен ) сразу все 9 имен!

Присваивание имен формулам и константам

Присваивать имена формулам и константам имеет смысл, если формула достаточно сложная или часто употребляется. Например, при использовании сложных констант, таких как 2*Ln(ПИ), лучше присвоить имя выражению =2*LN(КОРЕНЬ(ПИ())) Присвоить имя формуле или константе можно, например, через команду Присвоить имя (через меню Формулы/ Определенные имена/ Присвоить имя ):

  • в поле Имя ввести, например 2LnPi ;
  • в поле Диапазон нужно ввести формулу =2*LN(КОРЕНЬ(ПИ())) .

Теперь введя в любой ячейке листа формулу = 2LnPi , получим значение 1,14473.

О присваивании имен формулам читайте подробнее в статье Именованная формула .

Присваивание имен таблицам

Особняком стоят имена таблиц. Имеются ввиду таблицы в формате EXCEL 2007 , которые созданы через меню Вставка/ Таблицы/ Таблица . При создании этих таблиц, EXCEL присваивает имена таблиц автоматически: Таблица1 , Таблица2 и т.д., но эти имена можно изменить (через Конструктор таблиц ), чтобы сделать их более выразительными.

Имя таблицы невозможно удалить (например, через Диспетчер имен ). Пока существует таблица – будет определено и ее имя. Рассмотрим пример суммирования столбца таблицы через ее имя. Построим таблицу из 2-х столбцов: Товар и Стоимость . Где-нибудь в стороне от таблицы введем формулу =СУММ(Таблица1[стоимость]) . EXCEL после ввода =СУММ(Т предложит выбрать среди других формул и имя таблицы.

EXCEL после ввода =СУММ(Таблица1[ предложит выбрать поле таблицы. Выберем поле Стоимость .

В итоге получим сумму по столбцу Стоимость .

Ссылки вида Таблица1[стоимость] называются Структурированными ссылками .

В. СИНТАКСИЧЕСКИЕ ПРАВИЛА ДЛЯ ИМЕН

Ниже приведен список синтаксических правил, которым следует руководствоваться при создании и изменении имен.

  • Пробелы в имени не допускаются. В качестве разделителей слов используйте символ подчеркивания (_) или точку (.), например, «Налог_Продаж» или «Первый.Квартал».
  • Допустимые символы. Первым символом имени должна быть буква, знак подчеркивания (_) или обратная косая черта (). Остальные символы имени могут быть буквами, цифрами, точками и знаками подчеркивания.
  • Нельзя использовать буквы «C», «c», «R» и «r» в качестве определенного имени, так как эти буквы используются как сокращенное имя строки и столбца выбранной в данный момент ячейки при их вводе в поле Имя или Перейти .
  • Имена в виде ссылок на ячейки запрещены. Имена не могут быть такими же, как ссылки на ячейки, например, Z$100 или R1C1.
  • Длина имени. Имя может содержать до 255-ти символов.
  • Учет регистра. Имя может состоять из строчных и прописных букв. EXCEL не различает строчные и прописные буквы в именах. Например, если создать имя Продажи и затем попытаться создать имя ПРОДАЖИ , то EXCEL предложит выбрать другое имя (если Область действия имен одинакова).

В качестве имен не следует использовать следующие специальные имена:

  • Критерии – это имя создается автоматически Расширенным фильтром ( Данные/ Сортировка и фильтр/ Дополнительно );
  • Извлечь и База_данных – эти имена также создаются автоматически Расширенным фильтром ;
  • Заголовки_для_печати – это имя создается автоматически при определении сквозных строк для печати на каждом листе;
  • Область_печати – это имя создается автоматически при задании области печати.

Если Вы в качестве имени использовали, например, слово Критерии с областью действия Лист1, то оно будет удалено при задании критериев для Расширенного фильтра на этом листе (без оповещения).

С. ИСПОЛЬЗОВАНИЕ ИМЕН

Уже созданное имя можно ввести в ячейку (в формулу) следующим образом.

  • с помощью прямого ввода. Можно ввести имя, например, в качестве аргумента в формуле: =СУММ(продажи) или =НДС . Имя вводится без кавычек, иначе оно будет интерпретировано как текст. После ввода первой буквы имени EXCEL отображает выпадающий список формул вместе с ранее определенными названиями имен.
  • выбором из команды Использовать в формуле . Выберите определенное имя на вкладке Формула в группе Определенные имена из списка Использовать в формуле .

Для правил Условного форматирования и Проверки данных нельзя использовать ссылки на другие листы или книги (с версии MS EXCEL 2010 — можно). Использование имен помогает обойти это ограничение в MS EXCEL 2007 и более ранних версий. Если в Условном форматировании нужно сделать, например, ссылку на ячейку А1 другого листа, то нужно сначала определить имя для этой ячейки, а затем сослаться на это имя в правиле Условного форматирования . Как это сделать — читайте здесь: Условное форматирование и Проверка данных.

D. ПОИСК И ПРОВЕРКА ИМЕН ОПРЕДЕЛЕННЫХ В КНИГЕ

Диспетчер имен: Все имена можно видеть через Диспетчер имен ( Формулы/ Определенные имена/ Диспетчер имен ), где доступна сортировка имен, отображение комментария и значения.

Клавиша F3: Быстрый способ найти имена — выбрать команду Формулы/ Определенные имена/ Использовать формулы/ Вставить имена или нажать клавишу F3 . В диалоговом окне Вставка имени щелкните на кнопке Все имена и начиная с активной ячейки по строкам будут выведены все существующие имена в книге, причем в соседнем столбце появятся соответствующие диапазоны, на которые ссылаются имена. Получив список именованных диапазонов, можно создать гиперссылки для быстрого доступа к указанным диапазонам. Если список имен начался с A 1 , то в ячейке С1 напишем формулу:

Кликая по гиперссылке в ячейке С1 , будем переходить к соответствующим диапазонам.

Клавиша F5 (Переход): Удобным инструментом для перехода к именованным ячейкам или диапазонам является инструмент Переход . Он вызывается клавишей F5 и в поле Перейти к содержит имена ячеек, диапазонов и таблиц.

Е. ОБЛАСТЬ ДЕЙСТВИЯ ИМЕНИ

Все имена имеют область действия: это либо конкретный лист, либо вся книга. Область действия имени задается в диалоге Создание имени ( Формулы/ Определенные имена/ Присвоить имя ).

Например, если при создании имени для константы (пусть Имя будет const , а в поле Диапазон укажем =33) в поле Область выберем Лист1 , то в любой ячейке на Листе1 можно будет написать =const . После чего в ячейке будет выведено соответствующее значение (33). Если сделать тоже самое на Листе2, то получим #ИМЯ? Чтобы все же использовать это имя на другом листе, то его нужно уточнить, предварив именем листа: =Лист1!const . Если имеется определенное имя и его область действия Книга , то это имя распознается на всех листах этой книги. Можно создать несколько одинаковых имен, но области действия у них должны быть разными. Присвоим константе 44 имя const , а в поле Область укажем Книга . На листе1 ничего не изменится (область действия Лист1 перекрывает область действия Книга ), а на листе2 мы увидим 44.

Читать еще:  Vba excel последняя ячейка в столбце

Имена диапазонов Excel с абсолютным адресом

В основном пользователи Excel используют один тип имен диапазонов. При использовании имени в формулах, к нему обращаются как к абсолютной ссылке на диапазон ячеек. Хотя в предыдущем уроке мы присвоили имя не диапазону, а числу (значению).

Преимущества имен диапазонов перед абсолютными ссылками

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

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

Для решения данной задачи мы можем обойтись без использования имен с помощью абсолютных ссылок. Ниже приведем пример. Но имена дают более изящное решение данной задачи. Для сравнения рассмотрим оба варианта.

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

  1. Запишем курсы ЕВРО и ДОЛЛАРА в отельных ячейках F2 и G2.
  2. В ячейки C2 и D2 введем формулы, которые ссылаются к ценам в рублях через относительную ссылку, а к другим валютам через абсолютную ссылку.
  3. Скопируем диапазон ячеек C2:D2 в C3:D5.

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

Главным недостатком абсолютных ссылок является плохая читабельность формул. В документах для долгосрочного использования вместо абсолютных ссылок лучше использовать имена. Они обладают теми же преимуществами, но и улучшают читабельность формул. Это существенно повысит производительность пользователя при редактировании формул для внесения поправок или изменения порядка аргументов вычислений. Даже спустя несколько лет Вы откроете такой документ и быстро сориентируетесь в алгоритмах расчетов в сложных отчетах. Тем более это важно, если документ предназначен для использования широкого круга пользователей.

Теперь рассмотрим использование имен как альтернативный вариант для выше описанной задачи:

  1. Выделите диапазон ячеек F1:G2 и выберите инструмент: «Формулы»-«Определенные имена»-«Создать из выделенного».
  2. В появившемся окне «Создание имен из выделенного диапазона», отметьте первую опцию: «в строке выше», как на рисунке. Это значит, что значения в верхних строках будут использованы для названия имен ячеек в нижних строках. Будет создано одновременно сразу 2 имени. Ячейка F2 получит имя «Евро», а ячейка G2 – «Доллар».
  3. Выделите диапазон C2:D5 и выберите инструмент из выпадающего меню: «Формулы»-«Определенные имена»-«Присвоить имя»-Применить имена».
  4. В появившемся окне выделите сразу 2 имени, а остальное оставьте все по умолчанию и нажмите ОК.

Это только примитивный пример преимущества использования имен вместо абсолютных ссылок. Вы без проблем можете менять курсы валют (изменяя значения ячеек F2 и G2), а цены будут автоматически пересчитаны.

Примечание. Курсы валют можно хранить не только в значениях ячеек, но и в самих именах. Просто в поле диапазон введите значение текущего курса.

Использования имен в Excel при пересечении множеств

Теперь приведем более наглядный пример существенного преимущества использования имен.

Создайте отчет по продажам за первый квартал по 4-ем магазинам как на рисунке:

С помощью формулы и оператора пересечения множеств мы будем работать с этим отчетом как с базой данных. В ячейках A8 и B8 мы создаем запрос к базе, а в ячейке C8 получим результирующий ответ. Сначала создадим все имена:

  1. Выделите диапазон ячеек A2:D5 и выберите инструмент: «Формулы»-«Создать из выделенного». В появившемся окне отмечаем вторую опцию сверху: «в столбце слева».
  2. Выделите диапазон ячеек B1:D5 и выберите инструмент: «Формулы»-«Создать из выделенного». В появившемся окне отмечаем вторую опцию сверху: «в столбце сверху». Таким образом, у нас создались все нужные нам имена. Чтобы убедиться в этом выберите инструмент: «Диспетчер имен».
  3. Перейдите в ячейку C8 и введите функцию СУММ со следующими аргументами: =СУММ(Магазин3 февраль) и нажмите Enter.

Отлично! В результате мы видим значение 500 ¬– прибыль магазина3 за февраль месяц. Теперь нам только осталось с помощью функции сделать обработчик запросов, который так же будет использовать имена в своем алгоритме. Для этого:

  1. Модифицируем формулу в ячейке C8, а именно так: =СУММ(ДВССЫЛ(A8) ДВССЫЛ(B8)). И нажмите Enter. В результате формула выдала ошибку: #ССЫЛКА! Не переживайте по этому поводу, все под контролем, делаем обработчик запросов далее.
  2. Создадим еще 2 имени. Выделите диапазон A2:A5 чтобы присвоить ему имя «магазины». Для этого выберите инструмент: «Формулы»-«Присвоить имя». Заполните диалоговое окно как на рисунке. А потом выделите диапазон B1:D1 и присвойте ему имя «месяцы».
  3. Создаем выпадающий список для безошибочного запроса к нашей мини базе данных. Перейдите в ячейку А8 и выберите инструмент: «Данные»-«Работа с данными»-«Проверка данных». В появившемся окне: «Проверка вводимых значений» внесите настройки, так как показано на рисунке. И нажмите ОК.
  4. Таким же образом создайте второй список с месяцами в ячейке B8.

Готово! В результате мы теперь можем уверенно работать с нашей базой данных. Указываем параметры запроса, а в ячейке теперь вместо ошибки #ССЫЛКА! отображается правильный результирующий ответ.

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

В некоторой степени решение данной задачи можно выполнить и без имен используя плохо-читаемые абсолютные адреса ссылок на диапазоны ячеек. Но вот такой обработчик запросов без использования имен сделать гораздо сложнее.

Динамический диапазон с автоподстройкой размеров

Есть ли у вас таблицы с данными в Excel, размеры которых могут изменяться, т.е. количество строк (столбцов) может увеличиваться или уменьшаться в процессе работы? Если размеры таблицы «плавают», то придется постоянно мониторить этот момент и подправлять:

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

Все это в сумме не даст вам скучать 😉

Гораздо удобнее и правильнее будет создать динамический «резиновый» диапазон, который автоматически будет подстраиваться в размерах под реальное количество строк-столбцов данных. Чтобы реализовать такое, есть несколько способов.

Способ 1. Умная таблица

Выделите ваш диапазон ячеек и выберите на вкладке Главная – Форматировать как Таблицу (Home – Format as Table):

Если вам не нужен полосатый дизайн, который добавляется к таблице побочным эффектом, то его можно отключить на появившейся вкладке Конструктор (Design). Каждая созданная таким образом таблица получает имя, которое можно заменить на более удобное там же на вкладке Конструктор (Design) в поле Имя таблицы (Table Name) .

Теперь можно использовать динамические ссылки на нашу «умную таблицу»:

  • Таблица1 – ссылка на всю таблицу кроме строки заголовка (A2:D5)
  • Таблица1[#Все] – ссылка на всю таблицу целиком (A1:D5)
  • Таблица1[Питер] – ссылка на диапазон-столбец без первой ячейки-заголовка (C2:C5)
  • Таблица1[#Заголовки] – ссылка на «шапку» с названиями столбцов (A1:D1)

Такие ссылки замечательно работают в формулах, например:

=СУММ(Таблица1[Москва]) – вычисление суммы по столбцу «Москва»

=ВПР(F5;Таблица1;3;0) – поиск в таблице месяца из ячейки F5 и выдача питерской суммы по нему (что такое ВПР?)

Такие ссылки можно успешно использовать при создании сводных таблиц, выбрав на вкладке Вставка – Сводная таблица (Insert – Pivot Table) и введя имя умной таблицы в качестве источника данных:

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

При создании выпадающих списков прямые ссылки на элементы умной таблицы использовать нельзя, но можно легко обойти это ограничение с помощью тактической хитрости – использовать функцию ДВССЫЛ (INDIRECT) , которая превращает текст в ссылку:

Т.е. ссылка на умную таблицу в виде текстовой строки (в кавычках!) превращается в полноценную ссылку, а уж ее выпадающий список нормально воспринимает.

Способ 2. Динамический именованный диапазон

Если превращение ваших данных в умную таблицу по каким-либо причинам нежелательно, то можно воспользоваться чуть более сложным, но гораздо более незаметным и универсальным методом – создать в Excel динамический именованный диапазон, ссылающийся на нашу таблицу. Потом, как и в случае с умной таблицей, можно будет свободно использовать имя созданного диапазона в любых формулах, отчетах, диаграммах и т.д. Для начала рассмотрим простой пример:

Задача: сделать динамический именованный диапазон, который ссылался бы на список городов и автоматически растягивался-сжимался в размерах при дописывании новых городов либо их удалении.

Нам потребуются две встроенных функции Excel, имеющиеся в любой версии – ПОИКСПОЗ (MATCH) для определения последней ячейки диапазона и ИНДЕКС (INDEX) для создания динамической ссылки.

Ищем последнюю ячейку с помощью ПОИСКПОЗ

ПОИСКПОЗ(искомое_значение;диапазон;тип_сопоставления) – функция, которая ищет заданное значение в диапазоне (строке или столбце) и выдает порядковый номер ячейки, где оно было найдено. Например, формула ПОИСКПОЗ(“март”;A1:A5;0) выдаст в качестве результата число 4, т.к. слово «март» расположено в четвертой по счету ячейке в столбце A1:A5. Последний аргумент функции Тип_сопоставления = 0 означает, что мы ведем поиск точного соответствия. Если этот аргумент не указать, то функция переключится в режим поиска ближайшего наименьшего значения – это как раз и можно успешно использовать для нахождения последней занятой ячейки в нашем массиве.

Суть трюка проста. ПОИСКПОЗ перебирает в поиске ячейки в диапазоне сверху-вниз и, по идее, должна остановиться, когда найдет ближайшее наименьшее значение к заданному. Если указать в качестве искомого значение заведомо больше, чем любое имеющееся в таблице, то ПОИСКПОЗ дойдет до самого конца таблицы, ничего не найдет и выдаст порядковый номер последней заполненной ячейки. А нам это и нужно!

Если в нашем массиве только числа, то можно в качестве искомого значения указать число, которое заведомо больше любого из имеющихся в таблице:

Для гарантии можно использовать число 9E+307 (9 умножить на 10 в 307 степени, т.е. 9 с 307 нулями) – максимальное число, с которым в принципе может работать Excel.

Если же в нашем столбце текстовые значения, то в качестве эквивалента максимально большого числа можно вставить конструкцию ПОВТОР(“я”;255) – текстовую строку, состоящую из 255 букв «я» — последней буквы алфавита. Поскольку при поиске Excel, фактически, сравнивает коды символов, то любой текст в нашей таблице будет технически «меньше» такой длинной «яяяяя….я» строки:

Формируем ссылку с помощью ИНДЕКС

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

ИНДЕКС(диапазон; номер_строки; номер_столбца)

Она выдает содержимое ячейки из диапазона по номеру строки и столбца, т.е. например функция =ИНДЕКС(A1:D5;3;4) по нашей таблице с городами и месяцами из предыдущего способа выдаст 1240 – содержимое из 3-й строки и 4-го столбца, т.е. ячейки D3. Если столбец всего один, то его номер можно не указывать, т.е. формула ИНДЕКС(A2:A6;3) выдаст «Самару» на последнем скриншоте.

Причем есть один не совсем очевидный нюанс: если ИНДЕКС не просто введена в ячейку после знака =, как обычно, а используется как финальная часть ссылки на диапазон после двоеточия, то выдает она уже не содержимое ячейки, а ее адрес! Таким образом формула вида $A$2:ИНДЕКС($A$2:$A$100;3) даст на выходе уже ссылку на диапазон A2:A4.

И вот тут в дело вступает функция ПОИСКПОЗ, которую мы вставляем внутрь ИНДЕКС, чтобы динамически определить конец списка:

=$A$2:ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(ПОВТОР(«я»;255) ;A2:A100))

Создаем именованный диапазон

Осталось упаковать все это в единое целое. Откройте вкладку Формулы (Formulas) и нажмите кнопку Диспетчер Имен (Name Manager) . В открывшемся окне нажмите кнопку Создать (New) , введите имя нашего диапазона и формулу в поле Диапазон (Reference) :

Осталось нажать на ОК и готовый диапазон можно использовать в любых формулах, выпадающих списках или диаграммах.

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