ТРЕНИНГИ
Быстрый старт
Расширенный Excel
Мастер Формул
Прогнозирование
Визуализация
Макросы на VBA
КНИГИ
Готовые решения
Мастер Формул
Скульптор данных
ВИДЕОУРОКИ
Бизнес-анализ
Выпадающие списки
Даты и время
Диаграммы
Диапазоны
Дубликаты
Защита данных
Интернет, email
Книги, листы
Макросы
Сводные таблицы
Текст
Форматирование
Функции
Всякое
Коротко
Подробно
Версии
Вопрос-Ответ
Скачать
Купить
ПРОЕКТЫ
ОНЛАЙН-КУРСЫ
ФОРУМ
Excel
Работа
PLEX
© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
Техническая поддержка сайта
ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Hi Rogge,
Based on your description, first I suggest you try this code and check how many names are there in your Workbook.
Sub DeleteDeadNames2() Dim nName As Name Dim lCount As Long With ActiveWorkbook For lCount = .Names.Count To 1 Step -1 If lCount Mod 1000 = 0 Then Debug.Print lCount .Save DoEvents End If If InStr(1, .Names(lCount).RefersTo, "#REF!") > 0 Then .Names(lCount).Delete End If Next lCount End With End Sub
Then you need to check if there are any error about these names.
Now you can try to use this code to help you «clean» these names in your Workbook.
Sub DeleteDeadNames2() Dim nName As Name Dim lCount As Long With ActiveWorkbook For lCount = .Names.Count To 1 Step -1 If lCount Mod 1000 = 0 Then Debug.Print lCount .Save DoEvents End If If InStr(1, .Names(lCount).RefersTo, "#REF!") > 0 Then .Names(lCount).Delete End If Next lCount End With End Sub
This process runs very slow at first and gets progressively faster as the number of names is reduced.
Quote from:
http://www.mrexcel.com/forum/excel-questions/787555-over-400-hidden-defined-names-leftover-3rd-party-api-names-almost-identical-how-can-i-remove-w-o-deleting-my-own-defined-name-ranges.html
http://www.mrexcel.com/forum/excel-questions/788329-over-100-000-named-ranges-excel-name-manager-will-not-open-how-can-i-get-rid-them.html
Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.
Please try this method and check if it works for you.
I’m glad to help and follow up your reply.
Regards,
Emi Zhang
TechNet Community Support
Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
tnmff@microsoft.com.
-
Proposed as answer by
Emi ZhangMicrosoft contingent staff
Thursday, October 8, 2015 5:15 AM -
Marked as answer by
Emi ZhangMicrosoft contingent staff
Friday, October 9, 2015 7:49 AM
Apr 15 2022
08:13 AM
Hi,
I’m working on a worksheet and I’m trying to open up the name manager in the formulas tab, but it does not open when I click on it. The blue loading wheel pops-up for 1 second and then goes away, but nothing else happens. It seems that there are so many references in the worksheet that it crashes the name manager when I try to open it in this worksheet. I try to open it in a blank worksheet and it opens fine. Is there anyway to fix this issue? I am on an HP laptop using Windows 10. Thanks!
На работе мне приходится заполнять эксель-файл с индивидуальными целевыми показателями (используется для расчета премии). Шаблоны файлов поступили из центрального офиса. Ежемесячно я копирую последнюю вкладку и заполняю актуальной информацией.
Всё бы ничего, но каждый раз при копировании выскакивает окно с уведомлением о том, что копируемые формулы содержат какие-то имена. И таких имён порядка 30 на странице. То есть, каждый раз копируя вкладку мне надо 30 раз нажать кнопку «Да».
Когда это случилось первый раз я просмотрел все ячейки, никаких имён не нашёл и… махнул на это рукой. Месяц спустя, когда снова копировал вкладку — выругался, 30 раз подтвердил и снова забыл на месяц. В общем, так прошло больше года. Однако, даже моё терпение заканчивается…
Вчера, в очередной раз столкнувшись с необходимостью нажимать кнопку «Да», залез в Гугл с запросом «удалить имена в эксель». Нашёл замечательную страничку, где прочитал, как можно просмотреть список имен (нажав кнопку «Все имена» в диалоговом окне, вызываемом из меню Вставка — Имя — Вставить…) и удалить ненужные
Сделал, удалил, но… диспетчер имён удаляет только видимые имена, а есть ещё и скрытые.
Следующая ссылка привела на сайт Майкрософт (доступ только по учётной записи). Там выложен макрос, который позволяет удалять скрытые имена из эксель-файла. Копирую макрос здесь, чтобы на будущее не искать:
‘ Module to remove all hidden names on active workbook
Sub Remove_Hidden_Names()
‘ Dimension variables.
Dim xName As Variant
Dim Result As Variant
Dim Vis As Variant
‘ Loop once for each name in the workbook.
For Each xName In ActiveWorkbook.Names
‘If a name is not visible (it is hidden)…
If xName.Visible = True Then
Vis = «Visible»
Else
Vis = «Hidden»
End If
‘ …ask whether or not to delete the name.
Result = MsgBox(prompt:=»Delete » & Vis & » Name » & _
Chr(10) & xName.Name & «?» & Chr(10) & _
«Which refers to: » & Chr(10) & xName.RefersTo, _
Buttons:=vbYesNo)
‘ If the result is true, then delete the name.
If Result = vbYes Then xName.Delete
‘ Loop to the next name.
Next xName
End Sub
Вот вся последовательность необходимых действий:
На вкладке «Вид» (1) нажимаем кнопку «Макросы» (2) — выскакивает окно. Вводим произвольное имя (3) — становится доступной кнопка «Создать» (4). Нажимаем…
Открывается окно редактора макросов с набранными несколькими строчками заготовки макроса (5).
Копируем код макроса на место имеющегося текста и закрываем окно текущего макроса (6) и окно редактора макросов.
Снова Вид — Макросы и видим, что произвольное имя изменилось на Remove_Hidden_Names. Выбираем и нажимаем «Выполнить» (7)
Макрос запрашивает подтверждение на удаление каждого из имен, но это в последний раз. Так как кнопка «Yes» активна по умолчанию и если ни одно имя не нужно, то можно просто нажать и держать «Enter», пока все имена не будут удалены.
Всё. Теперь вкладку можно копировать без каких-либо дополнительных подтверждений.
Как в Excel 2003 попасть в диспетчер имён |
||||||||
Ответить |
||||||||
Ответить |
Почему пользовательская функция не работает: проблемы и решения
Если существующих функций недостаточно, Excel позволяет добавить новые собственные функции. Мы ранее рассказали, как их создать и как использовать, чтобы ваша работа стала проще. В этой статье мы рассмотрим проблемы, с которыми вы можете столкнуться при использовании созданных пользовательских функций в своих рабочих книгах. Я постараюсь показать вам, что их вызывает и как легко их решить.
Это позволяет избежать ненужных вычислений, которые ничего не меняют на вашем рабочем листе.
Это относится и к пользовательским формулам. Excel не может проверить код VBA и определить другие ячейки, которые также могли повлиять на результат.
Поэтому результат вашей формулы может не измениться, когда вы произвели изменения в рабочей книге. И вам будет казаться, что ваша пользовательская функция или макрос не работает.
Чтобы решить эту проблему, вам просто нужно использовать оператор Application.Volatile. Прочтите следующую главу, чтобы получить пошаговые инструкции по его применению.
Файл Excel не открывается как восстановить — Не открывается Excel файл — Как в офисе.
Пользовательская функция и макрос VBA: преимущества и недостатки — Мы продолжаем серию статей о работе с пользовательскими функциями. В наших предыдущих статьях мы познакомились с пользовательскими функциями и узнали, как их создавать и использовать. У пользовательских функций есть много…
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Пользовательская функция и макрос VBA преимущества и недостатки — Мы продолжаем серию статей о работе с пользовательскими функциями. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Как правильно сохранить и применять пользовательскую функцию Excel — Сегодня мы продолжим изучение пользовательских функций Excel. Поскольку вы уже знаете, как их создавать (и, я надеюсь, вы также пробовали применять их), давайте копнем немного глубже и узнаем, как использовать…
Почему пользовательская функция не работает: проблемы и решения | Mister-Office
Когда вы видите #Н/Д, это обычно означает, что числа, на которые вы ссылаетесь в вашей формуле, не могут быть найдены. Возможно, вы случайно удалили число или строку, которые используются в вашей формуле, или ссылаетесь на лист, который был удален или не сохранен.
Причины и решения
Как и в любой другом проблемном моменте, поиск выхода из ситуации с неполадками при открытии книги Эксель, кроется в непосредственной причине её возникновения. Поэтому, прежде всего, нужно установить именно факторы, которые вызвали сбои в работе приложения.
В данном случае решений проблемы может быть только два: либо открывать подобные документы на других компьютерах, имеющих обновленное ПО, либо установить на проблемном ПК одну из новых версий пакета Microsoft Office вместо устаревшей.
Обратной проблемы при открытии в новой программе документов, которые были сформированы в старых версиях приложения, не наблюдается. Таким образом, если у вас установлена последняя версия Excel, то проблемных моментов, связанных с совместимостью при открытии файлов более ранних программ, быть не может.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Релевантная сортировка поиск Windows позволяет выводить более релевантные результаты, поскольку их оценка проводится мгновенно за счет индекса. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Поскольку первоначально поиск выполняется только по именам файлов, по содержимому нужно искать дополнительно. Здесь же вы можете повторить поиск в библиотеках, по всему компьютеру или указать конкретные местоположения, щелкнув Другое. За этой ссылкой, помимо дерева папок компьютера, скрываются и сетевые ресурсы, и я расскажу о поиске в них чуть подробнее.
В зависимости от сложности электронной таблицы, наличия в ней формул и других параметров, быть может не все удастся изменить, на какие-то мелкие несоответствия, если это уместно, можно закрыть глаза. При этом уменьшить количество таких ошибок вполне под силу даже начинающим пользователям.
Перезагрузка функции упрощения набора текста
Переход по ячейкам с использованием стрелок может не работать при возникновении сбоя в функции залипания клавиш, из-за которого она зависает в неопределенном состоянии. Когда Excel не может определить ее состояние, он воспринимает это за включенную кнопку ScrLk. В этом случае нужно ее перезапустить.
Отройте Панель управления командой control из окна «Выполнить».
В строке поиска наберите «Центр специальных возможностей» и перейдите по найденному результату.
Затем перейдите в раздел Облегчения работы с клавиатурой — Упростить набор текста и отметьте флажком опцию «Включить залипание клавиш» и сохраните конфигурацию нажатием на «Применить».
Подождите несколько секунд прежде чем снова снять флажок, затем сохраните изменения на «Применить».
Откройте Excel и проверьте, восстановлена ли работа стрелок.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Используйте регулярные выражения, чтобы удалить все пробелы в ячейке, заменить несколько пробелов одним символом, обрезать пробелы только между числами и т. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
Проверка данных с помощью регулярных выражений — В этом руководстве показано, как выполнять проверку данных в Excel с помощью регулярных выражений и пользовательской функции RegexMatch. Когда дело доходит до ограничения пользовательского ввода на листах Excel, проверка данных очень полезна. Хотите…
Не работают стрелки в Excel: причины, что делать?
- Включена клавиша Scroll Lock. В большинстве случаем, она включается случайным нажатием на FN. Ее можно отключить с помощью экранной клавиатуры.
- Сбой функции залипания клавиш, которая зависла в неопределенном состоянии.
- Поврежденная надстройка или конфликт этих компонентов.
После этого, в правой части вашей электронной таблицы появится Мастер функций, где вы сможете выбрать нужную формулу. Затем Excel проведет вас через каждый шаг формулы в отдельных полях, чтобы избежать ошибок и программа могла правильно прочитать вашу ячейку.
Запуск Excel в безопасном режиме
Если продолжаете сталкиваться с ошибкой, попробуйте запустить офисный пакет в безопасном режиме. При таком запуске будут отключены все надстройки, которые могут вызвать неполадки.
Откройте окно «Выполнить» нажатием на Win + R и выполните команду:
Скопируйте данные из проблемного документа, а затем попробуйте сохранить новый файл в безопасном режиме. Таким образом, можно определить, препятствуют ли надстройки сохранению.
Если метод не работает, попробуйте запустить Windows в режиме чистой загрузки. В нем можно определить какой процесс или служба вызывают проблемы.
Мнение эксперта
Витальева Анжела, консультант по работе с офисными программами
Со всеми вопросами обращайтесь ко мне!
Задать вопрос эксперту
Если сеть работает нестабильно, постоянно прерывается и ей свойственны большие задержки, то столкнетесь с ошибкой при сохранении. Если же вам нужны дополнительные объяснения, обращайтесь ко мне!
В проводнике (Win + E) перейдите в папку, в которую пытаетесь записать документ. Сделайте шаг назад и откройте каталог, в котором вложена эта папка. Щелкните на ней правой кнопкой мыши и выберите Свойства.
Документ не сохранен в Excel: причины ошибки, что делать?
- Проблемы с оборудованием. Ошибка может возникнуть при сохранении на флешку или внешний жесткий диск, которые частично повреждены или файл не записывается из-за неполадок порта USB.
- Нестабильное подключение по сети. Если сохраняете таблицу Excel через интернет, возникают случаи, когда из-за нестабильного соединения доступ к общей папке прерывается.
- Отсутствуют разрешения на папку. Проблема возникает при сохранении документа в каталог, на который у пользователя нет разрешения на запись.
Причиной невозможности открыть файл Excel иногда могут выступать и комплексные неисправности в операционной системе. В этом случае нужно выполнить ряд действий по восстановлению работоспособности ОС Windows в целом.
Содержание
- Требования к именам ячеек
- Строка имен
- Использование контекстного меню
- Что такое именованный диапазон ячеек в Excel?
- Выделение диапазонов
- Сравнение диапазонов
- Задача
- Визуальное отображение динамического диапазона
- Функция СМЕЩ в Excel
- Что определяет функция СЧЕТ
- Манипуляции с именованными областями
- Создание именованного диапазона
- Примеры диапазона
- Заполнение диапазона
- Перемещение диапазона
- Именованный диапазон с абсолютной адресацией
- Именованный диапазон с относительной адресацией
Требования к именам ячеек
В программе процедура назначения ячейкам имен выполняется с помощью нескольких методов. Но при этом есть определенные требования к самим названиям:
- Нельзя использовать пробелы, запятые, двоеточия, точки с запятыми в качестве разделителя слов (выходом из ситуации может быть замена на нижнее подчеркивание или точку).
- Максимальная длина символов – 255.
- В начале названия должны быть буквы, нижнее подчеркивание или обратная косая черта (никаких цифр и прочих символов).
- Нельзя указывать адрес ячейки или диапазона.
- Название должно быть уникальным в рамках одной книги. При этом следует помнить, что буквы в разных регистрах программа будет воспринимать как полностью одинаковые.
Примечание: Если для ячейки (диапазона ячеек) задано какое-то имя, именно оно будет использоваться в качестве ссылки, например, в формулах.
Допустим, ячейке B2 присвоено имя “Продажа_1”.
Если она будет участвовать в формуле, то вместо B2 мы пишем “Продажа_1”.
Нажав клавишу Enter убеждаемся в том, что формула, действительно, рабочая.
Теперь перейдем, непосредственно, к самим методам, пользуясь которыми можно задавать имена.
Строка имен
Пожалуй самый простой способ присвоить имя ячейке или диапазону – ввести требуемое значение в строке имен, которое находится слева от строки формул.
- Любым удобным способом, например, с помощью зажатой левой кнопки мыши, выделяем требуемую ячейку или область.
- Щелкаем внутри строки имен и вводим нужное название согласно требованиям, описанным выше, после чего нажимаем клавишу Enter на клавиатуре.
- В результате мы присвоим выделенному диапазону название. И при выделении данной области в дальнейшем мы будем видеть именно это название в строке имен.
- Если имя слишком длинное и не помещается в стандартном поле строки, его правую границу можно сдвинуть с помощью зажатой левой кнопки мыши.
Примечание: при присвоении названия любым из способов ниже, оно также будет показываться в строке имен.
Использование контекстного меню
Использование контекстного меню в Эксель позволяет выполнить популярные команды и функции. Присвоить имя ячейке также можно через этот инструмент.
- Как обычно, для начала нужно отметить ячейку или диапазон ячеек, с которыми хотим выполнить манипуляции.
- Затем правой кнопкой мыши щелкаем по выделенной области и в открывшемся перечне выбираем команду “Присвоить имя”.
- На экране появится окно, в котором мы:
- пишем имя в поле напротив одноименного пункта;
- значение параметра “Поле” чаще всего остается по умолчанию. Здесь указывается границы, в которых будет идентифицироваться наше заданное имя – в пределах текущего листа или всей книги.
- В области напротив пункта “Примечание” при необходимости добавляем комментарий. Параметр не является обязательным для заполнения.
- в самом нижнем поле отображаются координаты выделенного диапазона ячеек. Адреса при желании можно отредактировать – вручную или с помощью мыши прямо в таблице, предварительно установив курсор в поле для ввода информации и стерев прежние данные.
- по готовности жмем кнопку OK.
- Все готово. Мы присвоили имя выделенному диапазону.
Именованный диапазон – это ячека, либо диапазон ячеек, которому присвоено имя. Имя – краткое, осмысленное обозначение. Имена ячеек и диапазонов могут использоваться при создании формул вместо адресов ячеек, а также при выделении нужных диапазонов. Присвоить имя диапазону можно различными способами, самый простой из которых – выделить нужную ячейку или диапазон и в адресном окошке строки формул написать имя для именованного диапазона.
По умолчанию имена диапазонов ячеек автоматически считаются абсолютными ссылками.
Для имен действует ряд ограничений:
– имя может содержать до 255 символов;
– первым символом в имени должна быть буква, знак подчеркивания (_) либо обратная косая черта (), остальные символы имени могутбыть буквами, цифрами, точками и знаками подчеркивания;
– имена не могут быть такими же, как ссылки на ячейки;
– пробелы в именах не допускаются;
– строчные и прописные буквы не различаются.
Управление существующими именованными диапазонами (создание, просмотр и изменение) можно осуществлять при помощи диспетчера имен. В Excel 2007 диспетчер находится на вкладке “Формулы”, в группе кнопок “Определенные имена”.
Выделение диапазонов
О том как выделять ячейки и группы ячеек уже рассказывалось в одной из наших публикаций. Также ранее рассматривалась тема о том как выделять строки в рабочих листах Excel, но строка является одним из частных видов диапазона ячеек. Рассмотрим несколько способов выделения диапазонов ячеек в общем виде.
Способ первый: для выделения небольшого диапазона ячеек, находящихся рядом, можно просто провести по ним курсор мыши в виде широкого белого креста при нажатой левой кнопке мыши. Первая ячейка диапазона при этом останется неподсвеченной и готовой к вводу информации.
Способ второй: для выделения большого диапазона ячеек необходимо щелкнуть по первой ячейке диапазона, после чего при нажатой клавише Shift, щелкнуть по последней ячейке диапазона. При этом можно использовать горячие клавиши для перехода в начало или конец строки, а также для перехода в начало или конец рабочего листа.
Способ третий: для выделения диапазона можно просто написать адрес этого диапазона в адресном окошке строки формул, а если диапазон именованный, то достаточно в адресном окошке написать его имя.
Сравнение диапазонов
Сравнение диапазонов – это одна из классических задач в Excel, которую рано или поздно приходится решать любому пользователю Excel. Задача по сравнению диапазонов может быть поставлена по разному. Когда-то нужно найти различия или совпадения в диапазонах при построчном их сравнении, а когда-то необходимо узнать есть ли что-то общее в сравниваемых диапазонах вообще. В зависимости от поставленной задачи различаются и методики её решения.
Например, для построчного сравнения часто используется логическая функция “ЕСЛИ” и какой-либо из операторов сравнения (также можно использовать и другие функции, например “СЧЕТЕСЛИ” из категории статистические для проверки вхождения элементов одного списка в другой).
Также для поиска отличий по столбцам или по строкам используется стандартное средство Excel, которое находится на вкладке “Главная”, в группе кнопок “Редактирование”, в меню кнопки “Найти и выделить”. Если в этом меню выбрать пункт “Перейти” и далее нажать кнопку “Выделить”, то в диалоговом окне “Выделение группы ячеек” можно выбрать одну из опций “Отличия по строкам” или “Отличия по столбцам”.
Для поиска повторяющихся или уникальных значений в двух диапазонах можно использовать условное форматирование.
Сравнение диапазонов можно провести и при помощи надстройки для Excel, которая позволяет находить и подсвечивать заливкой различия или совпадения в двух заданных диапазонах.
Задача
Имеется таблица продаж по месяцам некоторых товаров (см. Файл примера ):
Необходимо найти сумму продаж товаров в определенном месяце. Пользователь должен иметь возможность выбрать нужный ему месяц и получить итоговую сумму продаж. Выбор месяца пользователь должен осуществлять с помощью Выпадающего списка .
Для решения задачи нам потребуется сформировать два динамических диапазона : один для Выпадающего списка , содержащего месяцы; другой для диапазона суммирования.
Для формирования динамических диапазонов будем использовать функцию СМЕЩ() , которая возвращает ссылку на диапазон в зависимости от значения заданных аргументов. Можно задавать высоту и ширину диапазона, а также смещение по строкам и столбцам.
Создадим динамический диапазон для Выпадающего списка , содержащего месяцы. С одной стороны нужно учитывать тот факт, что пользователь может добавлять продажи за следующие после апреля месяцы (май, июнь…), с другой стороны Выпадающий список не должен содержать пустые строки. Динамический диапазон как раз и служит для решения такой задачи.
Для создания динамического диапазона:
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Месяц
- в поле Область выберите лист Книга
- в поле Диапазон введите формулу =СМЕЩ(лист1!$B$5;;;1;СЧЁТЗ(лист1!$B$5:$I$5))
- нажмите ОК.
Теперь подробнее. Любой диапазон в EXCEL задается координатами верхней левой и нижней правой ячейки диапазона. Исходной ячейкой, от которой отсчитывается положение нашего динамического диапазона, является ячейка B5 . Если не заданы аргументы функции СМЕЩ() смещ_по_строкам, смещ_по_столбцам (как в нашем случае), то эта ячейка является левой верхней ячейкой диапазона. Нижняя правая ячейка диапазона определяется аргументами высота и ширина . В нашем случае значение высоты =1, а значение ширины диапазона равно результату вычисления формулы СЧЁТЗ(лист1!$B$5:$I$5) , т.е. 4 (в строке 5 присутствуют 4 месяца с января по апрель ). Итак, адрес нижней правой ячейки нашего динамического диапазона определен – это E 5 .
При заполнении таблицы данными о продажах за май , июнь и т.д., формула СЧЁТЗ(лист1!$B$5:$I$5) будет возвращать число заполненных ячеек (количество названий месяцев) и соответственно определять новую ширину динамического диапазона, который в свою очередь будет формировать Выпадающий список .
ВНИМАНИЕ! При использовании функции СЧЕТЗ() необходимо убедиться в отсутствии пустых ячеек! Т.е. нужно заполнять перечень месяцев без пропусков.
Теперь создадим еще один динамический диапазон для суммирования продаж.
Для создания динамического диапазона :
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Продажи_за_месяц
- в поле Диапазон введите формулу = СМЕЩ(лист1!$A$6;;ПОИСКПОЗ(лист1!$C$1;лист1!$B$5:$I$5;0);12)
- нажмите ОК.
Функция ПОИСКПОЗ() ищет в строке 5 (перечень месяцев) выбранный пользователем месяц (ячейка С1 с выпадающим списком) и возвращает соответствующий номер позиции в диапазоне поиска (названия месяцев должны быть уникальны, т.е. этот пример не годится для нескольких лет). На это число столбцов смещается левый верхний угол нашего динамического диапазона (от ячейки А6 ), высота диапазона не меняется и всегда равна 12 (при желании ее также можно сделать также динамической – зависящей от количества товаров в диапазоне).
И наконец, записав в ячейке С2 формулу = СУММ(Продажи_за_месяц) получим сумму продаж в выбранном месяце.
Например, в мае.
Или, например, в апреле.
Примечание: Вместо формулы с функцией СМЕЩ() для подсчета заполненных месяцев можно использовать формулу с функцией ИНДЕКС() : = $B$5:ИНДЕКС(B5:I5;СЧЁТЗ($B$5:$I$5))
Формула подсчитывает количество элементов в строке 5 (функция СЧЁТЗ() ) и определяет ссылку на последний элемент в строке (функция ИНДЕКС() ), тем самым возвращает ссылку на диапазон B5:E5 .
Визуальное отображение динамического диапазона
Выделить текущий динамический диапазон можно с помощью Условного форматирования . В файле примера для ячеек диапазона B6:I14 применено правило Условного форматирования с формулой: = СТОЛБЕЦ(B6)=СТОЛБЕЦ(Продажи_за_месяц)
Условное форматирование автоматически выделяет серым цветом продажи текущего месяца , выбранного с помощью Выпадающего списка .
Функция СМЕЩ в Excel
Разберем более детально функции, которые мы вводили в поле диапазон при создании динамического имени.
Функция =СМЕЩ определяет наш диапазон в зависимости от количества заполненных ячеек в столбце B. 5 параметров функции =СМЕЩ(начальная ячейка; смещение размера диапазона по строкам; смещение по столбцам; размер диапазона в высоту; размер диапазона в ширину):
- «Начальная ячейка» – указывает верхнюю левую ячейку, от которой будет динамически расширяться диапазон как вниз, так и вправо (при необходимости).
- «Смещение по строкам» – параметр определяет, на какое количество нужно смещать диапазон по вертикали от начальной ячейки (первого параметра). Значения могут быть нулевыми и отрицательными.
- «Смещение по столбцам» – параметр определяет, на какое количество нужно смещать по горизонтали от начальной ячейки. Значения могут быть даже нулевыми и отрицательными.
- «Размер диапазона в высоту» – количество ячеек, на которое нужно увеличить диапазон в высоту. По сути, название говорит само за себя.
- «Размер диапазона в ширину» – количество ячеек, на которое нужно увеличить в ширину от начальной ячейки.
Последние 2 параметра функции являются необязательными. Если их не заполнять, то диапазон будет состоять из 1-ой ячейки. Например: =СМЕЩ(A1;0;0) – это просто ячейка A1, а параметр =СМЕЩ(A1;2;0) ссылается на A3.
Теперь разберем функцию: =СЧЕТ, которую мы указывали в 4-ом параметре функции: =СМЕЩ.
Что определяет функция СЧЕТ
Функция =СЧЕТ($B:$B) автоматически считает количество заполненных ячеек в столбце B.
Таким образом, мы с помощью функции =СЧЕТ() и =СМЕЩ() автоматизируем процесс формирования диапазона для имени «доход», что делает его динамическим. Теперь еще раз посмотрим на нашу формулу, которой мы присвоили имя «доход»: =СМЕЩ(Лист1!$B$2;0;0;СЧЁТ(Лист1!$B:$B);1)
Читать данную формулу следует так: первый параметры указывает на то, что наш автоматически изменяемый диапазон начинается в ячейке B2. Следующие два параметра имеют значения 0;0 – это значит, что динамический диапазон не смещается относительно начальной ячейки B2. А увеличивается только его размер по вертикали, о чем свидетельствует 4-тый параметр. В нем находится функция СЧЕТ и она возвращает число равно количеству заполненных ячеек в столбце B. Соответственно количество ячеек по вертикали в диапазоне будет равно числу, которое нам даст функция СЧЕТ. А за ширину диапазона у нас отвечает последний 5-тый параметр, где находиться число 1.
Благодаря функции СЧЕТ мы рационально загружаем в память только заполненные ячейки из столбца B, а не весь столбец целиком. Данный факт исключает возможные ошибки связанные с памятью при работе с данным документом.
Манипуляции с именованными областями
Именованный диапазон — это область ячеек, которой пользователем присвоено определенное название. При этом данное наименование расценивается Excel, как адрес указанной области. Оно может использоваться в составе формул и аргументов функций, а также в специализированных инструментах Excel, например, «Проверка вводимых значений».
Существуют обязательные требования к наименованию группы ячеек:
- В нём не должно быть пробелов;
- Оно обязательно должно начинаться с буквы;
- Его длина не должна быть больше 255 символов;
- Оно не должно быть представлено координатами вида A1 или R1C1
- В книге не должно быть одинаковых имен.
Наименование области ячеек можно увидеть при её выделении в поле имен, которое размещено слева от строки формул.
В случае, если наименование диапазону не присвоено, то в вышеуказанном поле при его выделении отображается адрес левой верхней ячейки массива.
Создание именованного диапазона
Прежде всего, узнаем, как создать именованный диапазон в Экселе.
- Самый быстрый и простой вариант присвоения названия массиву – это записать его в поле имен после выделения соответствующей области. Итак, выделяем массив и вводим в поле то название, которое считаем нужным. Желательно, чтобы оно легко запоминалось и отвечало содержимому ячеек. И, безусловно, необходимо, чтобы оно отвечало обязательным требованиям, которые были изложены выше.
- Для того, чтобы программа внесла данное название в собственный реестр и запомнила его, жмем по клавише Enter. Название будет присвоено выделенной области ячеек.
Выше был назван самый быстрый вариант наделения наименованием массива, но он далеко не единственный. Эту процедуру можно произвести также через контекстное меню
- Выделяем массив, над которым требуется выполнить операцию. Клацаем по выделению правой кнопкой мыши. В открывшемся списке останавливаем выбор на варианте «Присвоить имя…».
- Открывается окошко создания названия. В область «Имя» следует вбить наименование в соответствии с озвученными выше условиями. В области «Диапазон» отображается адрес выделенного массива. Если вы провели выделение верно, то вносить изменения в эту область не нужно. Жмем по кнопке «OK».
- Как можно видеть в поле имён, название области присвоено успешно.
Ещё один вариант выполнения указанной задачи предусматривает использование инструментов на ленте.
- Выделяем область ячеек, которую требуется преобразовать в именованную. Передвигаемся во вкладку «Формулы». В группе «Определенные имена» производим клик по значку «Присвоить имя».
- Открывается точно такое же окно присвоения названия, как и при использовании предыдущего варианта. Все дальнейшие операции выполняются абсолютно аналогично.
Последний вариант присвоения названия области ячеек, который мы рассмотрим, это использование Диспетчера имен.
- Выделяем массив. На вкладке «Формулы», клацаем по крупному значку «Диспетчер имен», расположенному всё в той же группе «Определенные имена». Или же можно вместо этого применить нажатие сочетания клавиш Ctrl+F3.
- Активируется окно Диспетчера имён. В нем следует нажать на кнопку «Создать…» в верхнем левом углу.
- Затем запускается уже знакомое окошко создания файлов, где нужно провести те манипуляции, о которых шёл разговор выше. То имя, которое будет присвоено массиву, отобразится в Диспетчере. Его можно будет закрыть, нажав на стандартную кнопку закрытия в правом верхнем углу.
Примеры диапазона
Диапазон представляет собой набор из двух и более ячеек.
- Для выбора диапазона B2:C4 кликните по нижнему правому углу ячейки В2 и протяните указатель мыши до ячейки C4.
- Чтобы выделить диапазон, состоящий из отдельных (несмежных) ячеек, зажмите клавишу Ctrl и кликните по каждой ячейке, которую хотите включить в диапазон.
Заполнение диапазона
Чтобы заполнить диапазон, следуйте инструкции ниже:
- Введите значение 2 в ячейку B2.
- Выделите ячейку В2, зажмите её нижний правый угол и протяните вниз до ячейки В8.
Результат:
Эта техника протаскивания очень важна, вы будете часто использовать её в Excel. Вот еще один пример:
- Введите значение 2 в ячейку В2 и значение 4 в ячейку B3.
- Выделите ячейки B2 и B3, зажмите нижний правый угол этого диапазона и протяните его вниз.
Excel автоматически заполняет диапазон, основываясь на шаблоне из первых двух значений. Классно, не правда ли? Вот еще один пример:
- Введите дату 13/6/2013 в ячейку В2 и дату 16/6/2013 в ячейку B3 (на рисунке приведены американские аналоги дат).
- Выделите ячейки B2 и B3, зажмите нижний правый угол этого диапазона и протяните его вниз.
Перемещение диапазона
Чтобы переместить диапазон, выполните следующие действия:
- Выделите диапазон и зажмите его границу.
- Перетащите диапазон на новое место.
Именованный диапазон с абсолютной адресацией
Пусть необходимо найти объем продаж товаров:
Присвоим Имя Продажи диапазону B2:B10 . При создании имени будем использовать абсолютную адресацию .
Для этого:
- выделите, диапазон B 2: B 10 на листе 1сезон
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Продажи
- в поле Область выберите лист 1сезон (имя будет работать только на этом листе) или оставьте значение Книга , чтобы имя было доступно на любом листе книги;
- убедитесь, что в поле Диапазон введена формула =’1сезон’!$B$2:$B$10
- нажмите ОК.
Теперь в любой ячейке листа 1сезон можно написать формулу в простом и наглядном виде: =СУММ(Продажи) . Будет выведена сумма значений из диапазона B2:B10 .
Также можно, например, подсчитать среднее значение продаж, записав =СРЗНАЧ(Продажи) .
Обратите внимание, что EXCEL при создании имени использовал абсолютную адресацию $B$1:$B$10 . Абсолютная ссылка жестко фиксирует диапазон суммирования: в какой ячейке на листе Вы бы не написали формулу =СУММ(Продажи) – суммирование будет производиться по одному и тому же диапазону B1:B10 .
Иногда выгодно использовать не абсолютную, а относительную ссылку, об этом ниже.
Именованный диапазон с относительной адресацией
Теперь найдем сумму продаж товаров в четырех сезонах. Данные о продажах находятся на листе 4сезона (см. файл примера ) в диапазонах: B2:B10 , C 2: C 10 , D 2: D 10 , E2:E10 . Формулы поместим соответственно в ячейках B11 , C 11 , D 11 , E 11 .
По аналогии с абсолютной адресацией из предыдущей задачи, можно, конечно, создать 4 именованных диапазона с абсолютной адресацией, но есть решение лучше. С использованием относительной адресации можно ограничиться созданием только одного Именованного диапазона Сезонные_продажи .
Для этого:
- выделите ячейку B11 , в которой будет находится формула суммирования (при использовании относительной адресации важно четко фиксировать нахождение активной ячейки в момент создания имени
- на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя
- в поле Имя введите: Сезонные_Продажи
- в поле Область выберите лист 4сезона (имя будет работать только на этом листе);
- убедитесь, что в поле Диапазон введена формула =’4сезона’!B$2:B$10
- нажмите ОК.
Мы использовали смешанную адресацию B$2:B$10 (без знака $ перед названием столбца). Такая адресация позволяет суммировать значения находящиеся в строках 2 , 3 ,… 10 , в том столбце, в котором размещена формула суммирования. Формулу суммирования можно разместить в любой строке ниже десятой (иначе возникнет циклическая ссылка).
Теперь введем формулу =СУММ(Сезонные_Продажи) в ячейку B11. Затем, с помощью Маркера заполнения , скопируем ее в ячейки С11 , D 11 , E 11 , и получим суммы продаж в каждом из 4-х сезонов. Формула в ячейках B 11, С11 , D 11 и E 11 одна и та же!
СОВЕТ: Если выделить ячейку, содержащую формулу с именем диапазона, и нажать клавишу F2 , то соответствующие ячейки будут обведены синей рамкой (визуальное отображение Именованного диапазона ).
Источники
- https://MicroExcel.ru/imena-yacheek/
- http://macros-vba.ru/nadstrojki/excel/183-diapazon-excel
- https://excel2.ru/articles/dinamicheskiy-diapazon-v-ms-excel
- https://exceltable.com/formuly/izmenyaemye-diapazony
- https://lumpics.ru/named-range-in-excel/
- https://office-guru.ru/excel/diapazon-v-excel-370.html
- https://excel2.ru/articles/imenovannyy-diapazon-v-ms-excel