Содержание
- Манипуляции с именованными областями
- Создание именованного диапазона
- Операции с именованными диапазонами
- Управление именованными диапазонами
- Вопросы и ответы
Одним из инструментов, который упрощает работу с формулами и позволяет оптимизировать работу с массивами данных, является присвоение этим массивам наименования. Таким образом, если вы хотите сослаться на диапазон однородных данных, то не нужно будет записывать сложную ссылку, а достаточно указать простое название, которым вы сами ранее обозначили определенный массив. Давайте выясним основные нюансы и преимущества работы с именованными диапазонами.
Манипуляции с именованными областями
Именованный диапазон — это область ячеек, которой пользователем присвоено определенное название. При этом данное наименование расценивается Excel, как адрес указанной области. Оно может использоваться в составе формул и аргументов функций, а также в специализированных инструментах Excel, например, «Проверка вводимых значений».
Существуют обязательные требования к наименованию группы ячеек:
- В нём не должно быть пробелов;
- Оно обязательно должно начинаться с буквы;
- Его длина не должна быть больше 255 символов;
- Оно не должно быть представлено координатами вида A1 или R1C1;
- В книге не должно быть одинаковых имен.
Наименование области ячеек можно увидеть при её выделении в поле имен, которое размещено слева от строки формул.
В случае, если наименование диапазону не присвоено, то в вышеуказанном поле при его выделении отображается адрес левой верхней ячейки массива.
Создание именованного диапазона
Прежде всего, узнаем, как создать именованный диапазон в Экселе.
- Самый быстрый и простой вариант присвоения названия массиву – это записать его в поле имен после выделения соответствующей области. Итак, выделяем массив и вводим в поле то название, которое считаем нужным. Желательно, чтобы оно легко запоминалось и отвечало содержимому ячеек. И, безусловно, необходимо, чтобы оно отвечало обязательным требованиям, которые были изложены выше.
- Для того, чтобы программа внесла данное название в собственный реестр и запомнила его, жмем по клавише Enter. Название будет присвоено выделенной области ячеек.
Выше был назван самый быстрый вариант наделения наименованием массива, но он далеко не единственный. Эту процедуру можно произвести также через контекстное меню
- Выделяем массив, над которым требуется выполнить операцию. Клацаем по выделению правой кнопкой мыши. В открывшемся списке останавливаем выбор на варианте «Присвоить имя…».
- Открывается окошко создания названия. В область «Имя» следует вбить наименование в соответствии с озвученными выше условиями. В области «Диапазон» отображается адрес выделенного массива. Если вы провели выделение верно, то вносить изменения в эту область не нужно. Жмем по кнопке «OK».
- Как можно видеть в поле имён, название области присвоено успешно.
Ещё один вариант выполнения указанной задачи предусматривает использование инструментов на ленте.
- Выделяем область ячеек, которую требуется преобразовать в именованную. Передвигаемся во вкладку «Формулы». В группе «Определенные имена» производим клик по значку «Присвоить имя».
- Открывается точно такое же окно присвоения названия, как и при использовании предыдущего варианта. Все дальнейшие операции выполняются абсолютно аналогично.
Последний вариант присвоения названия области ячеек, который мы рассмотрим, это использование Диспетчера имен.
- Выделяем массив. На вкладке «Формулы», клацаем по крупному значку «Диспетчер имен», расположенному всё в той же группе «Определенные имена». Или же можно вместо этого применить нажатие сочетания клавиш Ctrl+F3.
- Активируется окно Диспетчера имён. В нем следует нажать на кнопку «Создать…» в верхнем левом углу.
- Затем запускается уже знакомое окошко создания файлов, где нужно провести те манипуляции, о которых шёл разговор выше. То имя, которое будет присвоено массиву, отобразится в Диспетчере. Его можно будет закрыть, нажав на стандартную кнопку закрытия в правом верхнем углу.
Урок: Как присвоить название ячейке в Экселе
Операции с именованными диапазонами
Как уже говорилось выше, именованные массивы могут использоваться во время выполнения различных операций в Экселе: формулы, функции, специальные инструменты. Давайте на конкретном примере рассмотрим, как это происходит.
На одном листе у нас перечень моделей компьютерной техники. У нас стоит задача на втором листе в таблице сделать выпадающий список из данного перечня.
- Прежде всего, на листе со списком присваиваем диапазону наименование любым из тех способов, о которых шла речь выше. В итоге, при выделении перечня в поле имён у нас должно отображаться наименование данного массива. Пусть это будет наименование «Модели».
- После этого перемещаемся на лист, где находится таблица, в которой нам предстоит создать выпадающий список. Выделяем область в таблице, в которую планируем внедрить выпадающий список. Перемещаемся во вкладку «Данные» и щелкаем по кнопке «Проверка данных» в блоке инструментов «Работа с данными» на ленте.
- В запустившемся окне проверки данных переходим во вкладку «Параметры». В поле «Тип данных» выбираем значение «Список». В поле «Источник» в обычном случае нужно либо вручную вписать все элементы будущего выпадающего списка, либо дать ссылку на их перечень, если он расположен в документе. Это не очень удобно, особенно, если перечень располагается на другом листе. Но в нашем случае все намного проще, так как мы соответствующему массиву присвоили наименование. Поэтому просто ставим знак «равно» и записываем это название в поле. Получается следующее выражение:
=Модели
Жмем по «OK».
- Теперь при наведении курсора на любую ячейку диапазона, к которой мы применили проверку данных, справа от неё появляется треугольник. При нажатии на этот треугольник открывается список вводимых данных, который подтягивается из перечня на другом листе.
- Нам просто остается выбрать нужный вариант, чтобы значение из списка отобразилось в выбранной ячейке таблицы.
Именованный диапазон также удобно использовать в качестве аргументов различных функций. Давайте взглянем, как это применяется на практике на конкретном примере.
Итак, мы имеем таблицу, в которой помесячно расписана выручка пяти филиалов предприятия. Нам нужно узнать общую выручку по Филиалу 1, Филиалу 3 и Филиалу 5 за весь период, указанный в таблице.
- Прежде всего, каждой строке соответствующего филиала в таблице присвоим название. Для Филиала 1 выделяем область с ячейками, в которых содержатся данные о выручке по нему за 3 месяца. После выделения в поле имен пишем наименование «Филиал_1» (не забываем, что название не может содержать пробел) и щелкаем по клавише Enter. Наименование соответствующей области будет присвоено. При желании можно использовать любой другой вариант присвоения наименования, о котором шел разговор выше.
- Таким же образом, выделяя соответствующие области, даем названия строкам и других филиалов: «Филиал_2», «Филиал_3», «Филиал_4», «Филиал_5».
- Выделяем элемент листа, в который будет выводиться итог суммирования. Клацаем по иконке «Вставить функцию».
- Инициируется запуск Мастера функций. Производим перемещение в блок «Математические». Останавливаем выбор из перечня доступных операторов на наименовании «СУММ».
- Происходит активация окошка аргументов оператора СУММ. Данная функция, входящая в группу математических операторов, специально предназначена для суммирования числовых значений. Синтаксис представлен следующей формулой:
=СУММ(число1;число2;…)
Как нетрудно понять, оператор суммирует все аргументы группы «Число». В виде аргументов могут применяться, как непосредственно сами числовые значения, так и ссылки на ячейки или диапазоны, где они расположены. В случае применения массивов в качестве аргументов используется сумма значений, которая содержится в их элементах, подсчитанная в фоновом режиме. Можно сказать, что мы «перескакиваем», через действие. Именно для решения нашей задачи и будет использоваться суммирование диапазонов.
Всего оператор СУММ может насчитывать от одного до 255 аргументов. Но в нашем случае понадобится всего три аргумента, так как мы будет производить сложение трёх диапазонов: «Филиал_1», «Филиал_3» и «Филиал_5».
Итак, устанавливаем курсор в поле «Число1». Так как мы дали названия диапазонам, которые требуется сложить, то не нужно ни вписывать координаты в поле, ни выделять соответствующие области на листе. Достаточно просто указать название массива, который подлежит сложению: «Филиал_1». В поля «Число2» и «Число3» соответственно вносим запись «Филиал_3» и «Филиал_5». После того, как вышеуказанные манипуляции были сделаны, клацаем по «OK».
- Результат вычисления выведен в ячейку, которая была выделена перед переходом в Мастер функций.
Как видим, присвоение названия группам ячеек в данном случае позволило облегчить задачу сложения числовых значений, расположенных в них, в сравнении с тем, если бы мы оперировали адресами, а не наименованиями.
Конечно, эти два примера, которые мы привели выше, показывают далеко не все преимущества и возможности применения именованных диапазонов при использовании их в составе функций, формул и других инструментов Excel. Вариантов использования массивов, которым было присвоено название, неисчислимое множество. Тем не менее, указанные примеры все-таки позволяют понять основные преимущества присвоения наименования областям листа в сравнении с использованием их адресов.
Урок: Как посчитать сумму в Майкрософт Эксель
Управление именованными диапазонами
Управлять созданными именованными диапазонами проще всего через Диспетчер имен. При помощи данного инструмента можно присваивать имена массивам и ячейкам, изменять существующие уже именованные области и ликвидировать их. О том, как присвоить имя с помощью Диспетчера мы уже говорили выше, а теперь узнаем, как производить в нем другие манипуляции.
- Чтобы перейти в Диспетчер, перемещаемся во вкладку «Формулы». Там следует кликнуть по иконке, которая так и называется «Диспетчер имен». Указанная иконка располагается в группе «Определенные имена».
- После перехода в Диспетчер для того, чтобы произвести необходимую манипуляцию с диапазоном, требуется найти его название в списке. Если перечень элементов не очень обширный, то сделать это довольно просто. Но если в текущей книге располагается несколько десятков именованных массивов или больше, то для облегчения задачи есть смысл воспользоваться фильтром. Клацаем по кнопке «Фильтр», размещенной в правом верхнем углу окна. Фильтрацию можно выполнять по следующим направлениям, выбрав соответствующий пункт открывшегося меню:
- Имена на листе;
- в книге;
- с ошибками;
- без ошибок;
- Определенные имена;
- Имена таблиц.
Для того, чтобы вернутся к полному перечню наименований, достаточно выбрать вариант «Очистить фильтр».
- Для изменения границ, названия или других свойств именованного диапазона следует выделить нужный элемент в Диспетчере и нажать на кнопку «Изменить…».
- Открывается окно изменение названия. Оно содержит в себе точно такие же поля, что и окно создания именованного диапазона, о котором мы говорили ранее. Только на этот раз поля будут заполнены данными.
В поле «Имя» можно сменить наименование области. В поле «Примечание» можно добавить или отредактировать существующее примечание. В поле «Диапазон» можно поменять адрес именованного массива. Существует возможность сделать, как применив ручное введение требуемых координат, так и установив курсор в поле и выделив соответствующий массив ячеек на листе. Его адрес тут же отобразится в поле. Единственное поле, значения в котором невозможно отредактировать – «Область».
После того, как редактирование данных окончено, жмем на кнопку «OK».
Также в Диспетчере при необходимости можно произвести процедуру удаления именованного диапазона. При этом, естественно, будет удаляться не сама область на листе, а присвоенное ей название. Таким образом, после завершения процедуры к указанному массиву можно будет обращаться только через его координаты.
Это очень важно, так как если вы уже применяли удаляемое наименование в какой-то формуле, то после удаления названия данная формула станет ошибочной.
- Чтобы провести процедуру удаления, выделяем нужный элемент из перечня и жмем на кнопку «Удалить».
- После этого запускается диалоговое окно, которое просит подтвердить свою решимость удалить выбранный элемент. Это сделано во избежание того, чтобы пользователь по ошибке не выполнил данную процедуру. Итак, если вы уверены в необходимости удаления, то требуется щелкнуть по кнопке «OK» в окошке подтверждения. В обратном случае жмите по кнопке «Отмена».
- Как видим, выбранный элемент был удален из перечня Диспетчера. Это означает, что массив, к которому он был прикреплен, утратил наименование. Теперь он будет идентифицироваться только по координатам. После того, как все манипуляции в Диспетчере завершены, клацаем по кнопке «Закрыть», чтобы завершить работу в окне.
Применение именованного диапазона способно облегчить работу с формулами, функциями и другими инструментами Excel. Самими именованными элементами можно управлять (изменять и удалять) при помощи специального встроенного Диспетчера.
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Excel Starter 2010 Еще…Меньше
Вы можете быстро создать именованный диапазон путем выделения ячеек на листе.
Примечание: Именованные диапазоны, созданные из выделенных ячеек, относятся к области на уровне книги.
-
Выберите диапазон, которому вы хотите присвоить имя, включая заголовки строк и столбцов.
-
Щелкните Формулы > Создать из выделенного.
-
В диалоговом окне Создание имен из выделенного диапазона установите флажки в зависимости от расположения строки или столбца заголовков. Если строка заголовков присутствует только в верхней части таблицы, просто выберите В строке выше. Предположим, что вы используете верхнюю строку и левый столбец заголовков. В этом случае выберите параметры В строке выше и В столбце слева и т. д.
-
Нажмите кнопку ОК.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Если в книге есть несколько именованных диапазонов, и вы хотите просмотреть эти именованные диапазоны, кроме открытия диалогового окна Диспетчер имен, как вы можете это сделать? Здесь я расскажу о некоторых приемах, позволяющих перечислить или выделить именованные диапазоны, чтобы вы могли легко увидеть их в Excel.
Список всех именованных диапазонов в ячейках
Список и редактирование именованного диапазона в области навигации
Выделите все именованные диапазоны на активном листе
Список всех именованных диапазонов в ячейках
В Excel есть утилита, позволяющая копировать и вставлять все именованные диапазоны в ячейки.
1. Выберите ячейку, в которую вы поместите именованные диапазоны, и щелкните Формулы > Использование в формуле > Вставить имена. Смотрите скриншот:
2. Затем в Вставить имя диалоговое окно, нажмите Вставить список. Смотрите скриншот:
Теперь именованные диапазоны книги перечислены в ячейках.
Список и редактирование именованного диапазона в области навигации
Если у вас есть Kutools for Excel, вы можете применить Область переходов чтобы увидеть все именованные диапазоны и отредактировать их по своему усмотрению.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
Нажмите Кутулс > Навигация > Имя менеджера для отображения всех именованных диапазонов на панели. Смотрите скриншот:
(1) На этой панели вы можете отфильтровать именованный диапазон, используя Фильтр.
(2) Вы можете добавлять, удалять, обновлять или редактировать именованные диапазоны по своему усмотрению.
Выделите все именованные диапазоны на активном листе
Работы С Нами Kutools for ExcelАвтора Выделить имена утилита, все именованные диапазоны в активном листе будут выделены цветом фона.
После установки Kutools for Excel, пожалуйста, сделайте следующее:(Бесплатная загрузка Kutools for Excel Сейчас!)
1. Нажмите Кутулс Плюс > Дизайн рабочего листа для Дизайн таб. Смотрите скриншот:
2. Затем перейдите к Дизайн вкладку и щелкните Выделить имена для выделения названных диапазонов на активном листе.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (1)
Оценок пока нет. Оцените первым!
На чтение 6 мин Просмотров 1.3к. Опубликовано 21.03.2022
Именованные диапазоны помогут вам быстрее обрабатывать отдельные элементы таблицы, например я, часто ими пользуюсь.
Итак, начнём!
Содержание
- Что такое именованные диапазоны в Excel?
- Плюсы использования именованных диапазонов
- Используем имена в функциях
- Прописать имя гораздо быстрее чем диапазон ячеек
- Функции становятся динамическими
- Как создать именованный диапазон
- С помощью поля «Имя»
- Функция «Создать из выделенного»
- Важная информация
- Поиск нужного именованного диапазона
- Просмотр списка созданных именованных диапазонов.
- Автоподстановка имени диапазона
- Редактируем уже созданный именованный диапазон
- Горячие клавиши
- Динамический именованный диапазон
- Как это работает?
Что такое именованные диапазоны в Excel?
Итак, если вам необходимо часто обрабатывать какие-либо конкретные элементы таблицы — вы можете просто «назвать» их и выделять уже по названию (имени).
Грубо говоря, мы можем выделить какую-либо ячейку или диапазон ячеек и дать ему имя. В таком случае, выбрав имя, мы сможем быстро указать какие элементы необходимо задействовать.
Допустим, у нас есть такая табличка:
Например, здесь мы можем создать диапазон Дат, имен продавцов и продаж.
Вам может показаться, что это совершенно бесполезно, но я уверяю вас — вы ошибаетесь. Когда речь идет о больших объемах данных — именованные диапазоны одна из лучших функций!
Как я уже сказал, мы можем создать диапазон ячеек из каждого столбика:
А также присвоить ей конкретное имя.
Плюсы использования именованных диапазонов
Давайте рассмотрим плюсы использования этой функции.
Используем имена в функциях
Итак, допустим вы создали именованный диапазон. Теперь вы можете использовать его даже в функциях!
К примеру, так можно посчитать сумму всех значений диапазона:
=СУММ(SALES)
Для нашей таблички, мы можем использовать следующие функции, если создадим диапазон каждого столбика:
- Сумма продаж тех продавцов, которые продали более 500 позиций: =СЧЁТЕСЛИ(Sales,»>500″);
- Сумма продаж продавца Tom: =СУММЕСЛИ(SalesRep, «Tom»,Sales);
- Чистая прибыль продавца Joe:
=СУММЕСЛИ(SalesRep, "Joe",Sales)*Комиссия
В общем, ничего сложного нет, мы просто заменяем ссылки на ячейки в формулах именем диапазона.
Прописать имя гораздо быстрее чем диапазон ячеек
Но, главный плюс, я считаю — увеличение скорости работы с формулами. В случае если вы не используете именованный диапазон, вам в каждой новой формуле нужно указывать диапазон ячеек. С именованным диапазоном все проще!
Вы начинаете вводить его имя и Excel сам понимает что вы хотите написать, таким образом ошибки исключены:
Функции становятся динамическими
Если вы использовали определенные значения при расчетах, а после поменяете эти значения — результат не изменится.
А если же вы используете именованный диапазон — все будет пересчитываться каждый раз!
Как создать именованный диапазон
Есть 3 метода, давайте рассмотрим каждый.
Функция «Присвоить имя»
Пошаговая инструкция:
- Выделите ячейку (или диапазон);
- Щелкните на «Формулы» -> «Присвоить имя»;
- Итак, укажите имя и проверьте диапазон;
- Подтвердите.
Готово!
С помощью поля «Имя»
- Выделите ячейку (или диапазон);
- А теперь просто впишите имя в поле «Имя»;
- Диапазон будет создан для всего файла Excel (а не для отдельного листа). Если вам нужно создать диапазон только одного листа, вам нужен рассмотренный ранее вариант.
Функция «Создать из выделенного»
Этим вариантом выгодно пользоваться, когда вам нужно создать сразу несколько именованных диапазонов. Например, как в нашем случае, мы хотим создать 3 диапазона из каждого столбика нашей таблички.
Пошаговая инструкция:
- Выделите ячейку (или диапазон);
- Щелкните на «Формулы» -> «Создать из выделенного»;
- В открывшемся окне, выберите ту опцию, которая соответствует положению заголовков в вашей табличке. Грубо говоря, укажите где Excel должен искать заголовки таблички (в нашем случае — «в строке выше»);
Таким образом, он создал три диапазона с названиями наших столбиков, меняя пробел на «_»;
Важная информация
Есть несколько моментов, которые вам нужно знать о именованных диапазонах:
- Первым символом имени может быть только буква, «_» или «». Во всех остальных случаях будет ошибка;
- Именем не может быть диапазон ячеек;
- А также в именах не может быть пробелов, вы можете использовать «_»;
- Регистр не имеет значения;
- Максимальная длина имени — 255 символов.
Поиск нужного именованного диапазона
Бывает такое, что при работе с табличкой вы создаете очень много диапазонов. А потом забываете как называется тот, который нужен.
Что же делать?
Давайте я покажу.
Просмотр списка созданных именованных диапазонов.
Пошаговая инструкция:
- Щелкните на «Формулы» -> «Использовать в формуле»;
- Далее — «Вставить имена…»;
Итак, открылся список всех диапазонов.
Автоподстановка имени диапазона
Если вы хотя бы помните как начиналось имя нужного диапазона — вы можете использовать этот вариант.
Редактируем уже созданный именованный диапазон
Пошаговая инструкция:
- Щелкните на «Формулы» -> «Диспетчер имен»;
- В открывшемся окне будут все созданные диапазоны и их описания’
- Щелкните на «Изменить…»;
- Поменяйте то что нужно;
- Подтвердите.
Горячие клавиши
Какие есть горячие клавиши:
- Список всех диапазонов — F3;
- Открыть «Диспетчер имен» — CTRL + F3;
- Создать диапазон из выделенного — CTRL + SHIFT + F3.
Динамический именованный диапазон
До сих пор мы рассмотрели только те именованные диапазоны, которые не будут менять свою область.
Если мы создали B1:B20 диапазон, то он всегда будет ссылаться на эту область.
Грубо говоря, если у вас появятся новые ячейки в столбике, наш именованный диапазон не будет учитывать и включать в себя их. Это не очень удобно, что же делать?
В Excel можно создать и автоматически изменяемый именованный диапазон. Если я добавлю несколько новых ячеек в столбик, он будет включать в себя и их.
Для этого мы будем вызывать функцию ИНДЕКС.
Допустим у вас есть такая табличка:
Пошаговая инструкция:
- Щелкните на «Формулы» -> «Присвоить имя»;
- В открывшемся окне укажите данные на ваш выбор, а в поле «Диапазон» введите — =$A$2:ИНДЕКС($A$2:$A$100,СЧЁТЕСЛИ($A$2:$A$100,»<>»&»»)
- Подтвердите.
Готово!
Как это работает?
Чтобы понять как эта «фишка» работает, нужно знать как работает функция ИНДЕКС.
Чаще всего ИНДЕКС используют для получения значения из какой-либо ячейки.
Формула которую мы использовали при создании диапазона:
=$A$2:ИНДЕКС($A$2:$A$100,СЧЁТЕСЛИ($A$2:$A$100,"<>"&""))
ИНДЕКС($A$2:$A$100,СЧЁТЕСЛИ($A$2:$A$100,»<>»&»») -> выдаст нам значение последнего элемента столбика.
Но если функция будет выглядеть так: (=$A$2:INDEX($A$2:$A$100,COUNTIF($A$2:$A$100,»<>»&»»))) то она вернет порядковый номер последней ячейки, а не значение.
В нашем случае, это — $A$2:$A$11.
И соответственно если мы создадим новые ячейки — все будет пересчитано.
Обратите внимание:
Эта конструкция сработает только в том случае, если в ячейках идущих друг за другом не будет пустых. Если вам необходимо больший диапазон в функции ИНДЕКС — укажите его.
Также можно использовать функцию СМЕЩ, но она будет рассчитываться каждый раз, когда данные изменяются и может замедлять работу с программой.
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
1 |
|
08.09.2010, 12:42. Показов 3147. Ответов 14
Господа, подскажите как быть.
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
08.09.2010, 13:21 |
2 |
MsgBox Range(‘a1’).Name.Name по моему так
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
08.09.2010, 13:26 [ТС] |
3 |
спасибо! все правильно) только он еще пишет имя странички, а оно мне не нать)
0 |
0 / 0 / 1 Регистрация: 08.04.2009 Сообщений: 17 |
|
08.09.2010, 13:35 |
4 |
если она у тебя текущая, то если присвоить имя, например, ячейке B2, то по абсолютной ссылке что-то типа
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
08.09.2010, 14:14 |
5 |
Это потому, что у тебя имена описаны на уровне листа. Откуси имя листа, например так:
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
08.09.2010, 14:21 |
6 |
Да еще учти, если есть аналогичное имя уровня книги можешь попасть в неприятности(при подстановке имени в Range)
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
08.09.2010, 17:01 [ТС] |
7 |
спасибо. имя ячейки выделилось как надо, но если я пишу
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
08.09.2010, 17:03 [ТС] |
8 |
у меня в цикле бегает по ячейкам до именованной и по ней выход из цикла хотелось бы сделать
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
08.09.2010, 17:29 |
9 |
Тогда наверное нужно по другому, может быть так:
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
09.09.2010, 10:11 [ТС] |
10 |
Он ругается на это. Говорит 1004 ошибка.
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
09.09.2010, 13:02 |
11 |
If Not Intersect(Range(‘MyName’), r) Is Nothing Then Exit For
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
09.09.2010, 13:14 [ТС] |
12 |
Спасибо, все классно заработало)))
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
09.09.2010, 13:20 [ТС] |
13 |
я поставил внутри цикла счетчик. может это и кривовато, но ее адрес я таким образом получил
0 |
1121 / 229 / 36 Регистрация: 15.03.2010 Сообщений: 698 |
|
09.09.2010, 15:47 |
14 |
Адрес именованной ячейки получить легко
0 |
0 / 0 / 0 Регистрация: 06.06.2010 Сообщений: 88 |
|
12.09.2010, 12:37 [ТС] |
15 |
Спасибо))) Класс!!!
0 |
We can use the name for the cell Ranges instead of the cell reference (such as A1 or A1:A10). We can create a named range for a range of cells and use then use that name directly in the Excel formulas. When we have huge data sets, Excel-named ranges make it easy to refer (by directly using a name to that data set).
Creating an Excel Named Range :
There can be 3 ways to create named ranges in Excel :
Method 1: Using Define Name
Use the following steps to create named range using Define Name :
- Select the range B1:B5.
- Click on the Formulas tab.
- Then click on Define Name.
- Give a new Name(PriceTotal in our example) & click Ok. (You can see the range in the bottom refers to section, here absolute referencing is used, $ before the row number/ column letter locks the row/column).
- Now, the next thing is to see that how to use this named range in any of the Excel formulas. For example, if you want to get the sum of all numbers in the above name range then, can say simply write: =SUM(PriceTotal).
Here, B7 =SUM(PriceTotal) = 100 + 22.5 + 843 + 256 (all the numbers in the named range)= 1220.5
Note: The named Range created by this method is restricted to a worksheet.
Method 2: Use the Name Box
Use the following steps to create a named range using the name box :
- Choose the range for which you’d want to give it a name (not the headers).
- Type the name of the range with which you wish to construct the Named Range in the Name Box on the left of the Formula bar.
Note: The Name created this way is available in the entire excel current Workbook.
Method 3: From Selection Option
When you have tabular data and wish to construct named ranges for each column/row, this is the preferred method.
Example: We have 3 columns having headers: Product Name, Amount & Tax Percent.
Use the following steps to create a named range from the selection option :
- Select the complete data set (the 3 columns with the headers).
- Click on the Formulas tab.
- Click Create from Selection (or press Control + Shift + F3).
- After the click, Create Names from Selection’ dialogue box will be opened.
- Check the settings where you have the headers in the Create Names from Selection dialogue box. Because the heading is in the top row, we only select the top row. You can choose both if you have headers in the top row and left column. We only need to check the Left Column option, if the data is organized with the headers only in the left column.
Here we select only Top row because we have headers in the top row.
Result: The data set you selected in column A will be having a named Range: Product_Name (Spaces not allowed, so underscore automatically replaces space)
The data set you selected in column B will be having a named Range: Amount
The data set you selected in column C will be having a named Range: TAX_Percent (Spaces not allowed, so underscore automatically replaces space)
Benefits of Creating Named Ranges in Excel:
The following are benefits of creating & use Named Ranges in Excel :
Instead of using cell references every time, we can directly use Named Reference
Example 1: In the above example, to calculate the sum, we used B7 =SUM(PriceTotal) instead of B7 = SUM(B2:B5) for the above data range.
Example 2: If for the same-named Range, if we write, B9 = SUMIF(PriceTotal,”>50″), then the sum will be equal to the sum of all numbers > 50 in the named range.
Here, sum is done for all the numbers > 50 in the named range “PriceTotal” = 100+842+256 = 1198.
- To Select Cells, you do not need to return to the data set to choose the cells. You can directly use the Named range, by typing the first few characters of the named range, excel shows a list of named ranges that matches the typed characters.
Example :
As you can see that after just typing Pr, a drop-down list for the available options(formula & named Range) is pooped up.
- The formulas become dynamic using named Ranges:
- Excel formulas become dynamic if we use Named Ranges. In the above example, if we add another cell of Tax Percent (2.5%)& you name it as “TAX” . Now to calculate Final Price (including tax), we can use the Named Range instead of using the value 2.5.
- Now, if later tax is increased to 3%, you just have to update the Named Range, and all the calculations would be done automatically & we will get the Final Price according to the latest tax percent.
- Finding a named cell is less time-consuming.
Using Create From Selection Option :
When generating Named Ranges in Excel, you should be aware of the following naming conventions:
- A letter and underscore character(_), or a backslash, shall be the initial character in a Named Range (). It will display an error if it is anything else is used. Letters, numbers, special characters, a period, or an underscore can make up the remaining characters.
- When establishing named ranges, you can’t use spaces. Tax Percent, for example, cannot be a named range. We can use an underscore, a period, or capital characters if we wish to make a Named Range out of two words, You may, for example, Tax_Percent, TaxPercent, etc.
- In Excel, you can’t use names that are also cell references. You can’t use C1 because it’s also a cell reference.
- You can only have a maximum of 255 characters in a named range.
- For Excel, uppercase and lowercase letters are the same when generating named ranges. For example, if you create a named range called ‘TAX’, you cannot create another named range called ‘Tax’ or ‘tax’.
Name Rows and Columns in Excel:
You may find yourself producing a lot of Named Ranges in Excel when working with large data sets and complex models. It is possible that you can’t recall the name of the Named Range you made. What to do then?
Solutions:
1. Getting the Names of All the Named Ranges
- Click on the formula tab.
- Choose – Use in Formula(In the Defined Named group).
- Choose Paste names & you will get a list of all the Named Ranges in the workbook.
2. Displaying the Matching Named Ranges
As discussed earlier, type a few initial characters, if you have some glimpse about the Name, and a drop-down list of matching ones will be shown.
Editing the Named Range in Excel :
To change/ edit the already created named range, follow these steps :
- Click the Formulas tab.
- Click the name manager(or Ctrl + F3).
- All of the Named Ranges in that workbook will be listed in the Name Manager dialogue box. Double-click the Named Range you’d like to change.
- Edit Name dialog box will pop up, make the modifications.
Example:
Here when we double-click Amount, the edit window for the same get open & we rename that named range from Amount to any other name.
- Click OK and close the name manager window.
Useful Named Range Shortcuts:
When dealing with Named Ranges in Excel, the following keyboard shortcuts can come in use frequently :
- F3: Will give a list of all the Named Ranges and pasting it in any Formula.
- Ctrl + + Shift + F3 : To pop up create Named Ranges from Selection window.
- Ctrl + F3 : To pop up the name manager window directly.
- F1: For Excel Help.
You can improve on that performance by writing your own optimised lookup. I created a crude method and got better than a x100 performance.
General method:
- Load a list of all named ranges and address into memory (I used an array). Do this once at the start of your code
- Write an optimised search function to find a specified address in the data (array)
- In your main loop build the address and use your search function to get the Name
The search function I tried was quite crude: a simple sequential search, but starting at the index where the last name was found. If the names are roughly sorted this can be quite optimal. YMMV especially if your names are not patterned (in which case a binary search would be better)
I include my test code for reference. It will need work to become production code
Option Explicit
Public Declare Function GetTickCount Lib "kernel32" () As Long
Sub z()
Range("H1").ListNames
End Sub
Sub Demo()
Dim t1 As Long, t2 As Long
Dim vAddr As Variant, vName As Variant
Dim addr As String, Nm As String
Dim n As Long
' Names stored on sheet for conveniance
' These lists created with .ListNames
vAddr = Range("I1:I3172").Value2 ' Names stored here
vName = Range("H1:H3172").Value2 ' Address stored here
Dim i As Long, j As Long
t1 = GetTickCount
For j = 1 To 10 ' loop for test purposes
For i = 5 To 605 ' find 600 names
addr = "=Sheet1!$C$" & i
n = FindAddr(vAddr, addr)
Nm = vName(n, 1)
Next
Next
t2 = GetTickCount
Debug.Print t2 - t1
t1 = GetTickCount
For j = 1 To 10
For i = 5 To 605
Nm = Cells(i, 3).Name.Name
Next
Next
t2 = GetTickCount
Debug.Print t2 - t1
End Sub
Function FindAddr(dat As Variant, item As String) As Long
Dim i As Long
Dim fnd As Boolean
Static init As Long
If init = 0 Then init = 1
For i = init To UBound(dat, 1)
If dat(i, 1) = item Then
fnd = True
Exit For
End If
Next
If Not fnd Then
For i = 1 To init - 1
If dat(i, 1) = item Then
fnd = True
Exit For
End If
Next
End If
init = i
FindAddr = i
End Function
On my hardware results were 109 ms vs 23,805 ms (that’s for 50 x 600 lookups)