Что делает инструмент “Выпадающие списки в Excel (Проверка данных (Data Validation))”
В Excel есть специальный инструмент, который называется «Проверка данных» (Data Validation). Использование проверки данных позволяет ограничить возможности по вводу данных в ячейку.
В частности, с помощью этого инструмента можно создавать для ячейки (или ячеек) выпадающие списки.
Выпадающие списки, или свитчеры (от английского switcher – переключатель), удобны, например, для выбора основного сценария расчетов. Его название не нужно вводить вручную, а выбирают из предустановленного набора.
Выпадающие списки ограничивают возможные значения в ячейке. Благодаря этому удается предупреждать ошибки при вводе названия сценария и обеспечивать устойчивость финансовой модели к опечаткам при вводе данных.
Для создания выпадающего списка следует выполнить три действия:
1) выделить ячейку (или ячейки), для которой (ых) создается выпадающий список;
2) на вкладке «Данные» (Data) нажать на кнопку «Проверка данных» (Data Validation);
3) в открывшемся диалоговом окне на первой вкладке (на вкладке «Параметры» (Settings) задать условие проверки: «Тип данных» – «Список» (Allow – List). После выбора появится возможность указать источник значений для списка.
Источником могут быть как ячейки с данными, так и произвольные значения, перечисленные через символ «;».
После выполнения указанных действий при выборе ячейки, для которой проведена настройка, появится кнопка выпадающего списка.
Пример на использование выпадающих списков в Excel
Скачайте файл-упражнение здесь:
Войдите или зарегистрируйтесь для просмотра этого контента.
Как работают файлы-упражнения
В каждом файле-упражнении есть теория и задания.
В заданиях, связанных с функциями и формулами, правильные ответы указаны в примечаниях к ячейками. Обычно в примечании два варианта ответа: для русской и английской версии.
Задания в бесплатных файлах-упражнениях загружаются с сайта BRP ADVICE.
Для работы с файлами-упражнениями убедитесь в наличии сети Интернет и предоставьте файлу доступ к внешним данным.
Используйте расширенные версии упражнений, чтобы лучше разобраться в теме и работать без подключения к внешним данным >>>>
Выпадающий список в ячейке листа
Видео
У кого мало времени и нужно быстро ухватить суть — смотрим обучающее видео:
Кому интересны подробности и нюансы всех описанных способов — дальше по тексту.
Способ 1. Примитивный
Один щелчок правой кнопкой мыши по пустой ячейке под столбцом с данными, команда контекстного меню Выбрать из раскрывающегося списка (Choose from drop-down list) или нажать сочетание клавиш ALT+стрелка вниз. Способ не работает, если ячейку и столбец с данными отделяет хотя бы одна пустая строка или вам нужен товар, который еще ни разу не вводился выше:
Способ 2. Стандартный
- Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).
- Если у вас Excel 2003 или старше — выберите в меню Вставка — Имя — Присвоить (Insert — Name — Define), если Excel 2007 или новее — откройте вкладку Формулы (Formulas) и воспользуйтесь кнопкой Диспетчер имен (Name Manager), затем Создать. Введите имя (можно любое, но обязательно без пробелов и начать с буквы!) для выделенного диапазона (например Товары). Нажмите ОК.
- Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню (на вкладке) Данные — Проверка (Data — Validation). Из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и введите в строчку Источник (Source) знак равенства и имя диапазона (т.е. =Товары).
Нажмите ОК.
Все! Наслаждайтесь!
Важный нюанс. В качестве источника данных для списка может выступать и динамический именованный диапазон, например прайс-лист. Тогда при дописывании новых товаров к прайсу, они будут автоматически добавляться к выпадающему списку. Еще одним часто используемым трюком для таких списков является создание связанных выпадающих списков (когда содержимое одного списка меняется в зависимости от выбора в другом).
Способ 3. Элемент управления
Этот способ представляет собой вставку на лист нового объекта — элемента управления «поле со списком» с последующей привязкой его к диапазонам на листе. Для этого:
- В Excel 2007/2010 откройте вкладку Разработчик (Developer). В более ранних версиях — панель инструментов Формы (Forms) через меню Вид — Панели инструментов — Формы (View — Toolbars — Forms). Если этой вкладки не видно, то нажмите кнопку Офис — Параметры Excel — флажок Отображать вкладку Разработчик на ленте (Office Button — Excel Options — Show Developer Tab in the Ribbon)
- Найдите значок выпадающего списка среди элементов управления форм (не ActiveX!). Ориентируйтесь по всплывающим подсказкам — Поле со списком:
Щелкните по значку и нарисуйте небольшой горизонтальный прямоугольник — будущий список. - Щелкните по нарисованному списку правой кнопкой мыши и выберите команду Формат объекта (Format control). В появившемся диалоговом окне задайте
- Формировать список по диапазону — выделите ячейки с наименованиями товаров, которые должны попасть в список
- Связь с ячейкой — укажите ячейку куда нужно выводить порядковый номер выбранного пользователем элемента.
- Количество строк списка — сколько строк показывать в выпадающем списке. По умолчанию — 8, но можно больше, чего не позволяет предыдущий способ.
После нажатия на ОК списком можно пользоваться.
Чтобы вместо порядкового номера элемента выводилось его название можно дополнительно использовать функцию ИНДЕКС (INDEX), которая умеет выводить содержимое нужной по счету ячейки из диапазона:
Способ 4. Элемент ActiveX
Этот способ частично напоминает предыдущий. Основное отличие в том, что на лист добавляется не элемент управления, а элемент ActiveX «Поле со списком» из раскрывающегося набора под кнопкой Вставить (Insert) с вкладки Разработчик (Developer):
Механизм добавления тот же — выбираем объект из списка и рисуем его на листе. А вот дальше начинаются серьезные отличия от предыдущего способа.
Во-первых, созданный выпадающий ActiveX список может находится в двух принципиально разных состояниях — режиме отладки, когда можно настраивать его параметры и свойства, двигать его по листу и менять размеры и — режиме ввода, когда единственное, что можно — выбирать из него данные. Переключение между этими режимами происходит с помощью кнопки Режим Конструктора (Design Mode) на вкладке Разработчик (Developer):
Если эта кнопка нажата, то мы можем настраивать параметры выпадающего списка, нажав соседнюю кнопку Свойства (Properties), которая откроет окно со списком всех возможных настроек для выделенного объекта:
Самые нужные и полезные свойства, которые можно и нужно настроить:
- ListFillRange — диапазон ячеек, откуда берутся данные для списка. Выделить мышью диапазон он не даст, надо просто вписать его руками с клавиатуры (например, Лист2!A1:A5)
- LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент
- ListRows — количество отображаемых строк
- Font — шрифт, размер, начертание (курсив, подчеркивание и т.д. кроме цвета)
- ForeColor и BackColor — цвет текста и фона, соответственно
Большим и жирным плюсом этого способа является возможность быстрого перехода к нужному элементу в списке при вводе первых букв с клавиатуры(!), чего нет у всех остальных способов. Приятным моментом, также, является возможность настройки визуального представления (цветов, шрифтов и т.д.)
При использовании этого способа, также возможно указывать в качестве ListFillRange не только одномерные диапазоны. Можно, например задать диапазон из двух столбцов и нескольких строк, указав дополнительно, что выводить нужно два столбца (свойство ColumnCount=2). Тогда можно получить весьма привлекательные результаты, окупающие все потраченные на дополнительные настройки усилия:
Итоговая сравнительная таблица всех способов
Способ 1. Примитивный | Способ 2. Стандартный | Способ 3. Элемент управления | Способ 4. Элемент ActiveX | |
Сложность | низкая | средняя | высокая | высокая |
Возможность настройки шрифта, цвета и т.д. | нет | нет | нет | да |
Количество отображаемых строк | всегда 8 | всегда 8 | любое | любое |
Быстрый поиск элемента по первым буквам | нет | нет | нет | да |
Необходимость использования дополнительной функции ИНДЕКС | нет | нет | да | нет |
Возможность создания связанных выпадающих списков | нет | да | нет | нет |
Ссылки по теме:
- Выпадающий список с данными из другого файла
- Создание зависимых выпадающих списков
- Автоматическое создание выпадающих списков надстройкой PLEX
- Выбор фото из выпадающего списка
- Автоматическое удаление уже использованных элементов из выпадающего списка
- Выпадающий список с автоматическим добавлением новых элементов
Выпадающий список в MS EXCEL на основе Проверки данных
Смотрите такжеполотно!$B$17:$C$17 один размер (ширина готовых решений иФункциявот такую формулу: НЕ ЧИЩЕНЫ?!: Хорошо, а если содержат часть значений А)Этот способ требует наличияПри задании имен помнитеТеперь создадим Выпадающий список(Тип данных). регулировка размера шрифта примера, лист Динамический на диапазон. Правда,
При заполнении ячеек данными,; K4); 5) и высота), который
примените то, чтоСЧЁТЗ (COUNTA)=ДВССЫЛ(«Таблица1[Сотрудники]»)С: Знаете, завхоз с использованием выбора из ячеек Z9,
сдвиг_вправо = 1, т.к. отсортированного списка соответствий о том, что для ввода фамилийПоместите курсор в поле Выпадающего списка. При диапазон).
в качестве источника часто необходимо ограничить
А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник
? Он у бы был привязан вам больше подходит.подсчитывает количество непустых=INDIRECT(«Таблица1[Сотрудники]») не выдал щётку,
списка по значению AA9, AB9″ ? мы хотим сослаться марка-модель вот такого имена диапазонов в в ведомость:Source большом количестве элементовИспользуем функцию ДВССЫЛ()
можно определить сразу возможность ввода определенным Вас пустой. в формуле.nifra ячеек в столбце
Смысл этой формулы прост. гуталина в части ячейки. Или это_Boroda_ на модели в вида: Excel не должнывыделите ячейки ведомости, куда(Источник) и введите:
имеет смысл сортироватьАльтернативным способом ссылки на более широкий диапазон, списком значений. Например,nifraВ моем случае: Добавил версию 2003 с фамилиями, т.е. Выражение нет… в принципе не,
соседнем столбце (В)Для создания первичного выпадающего
Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)
содержать пробелов, знаков будут вводиться фамилии=INDIRECT($B$1) список элементов и перечень элементов, расположенных например, имеется ячейка, куда:
размеров уже 2функцией впр я количество строк вТаблица1[Сотрудники]Г: А меня возможно запихнуть в
Сергей Александр (прошуразмер_диапазона_в_строках — вычисляем с списка можно марок препинания и начинаться сотрудников, например=ДВССЫЛ($B$1)
использовать дополнительную классификацию на другом листе,A1:A100 пользователь должен внестиSerge_007 (а будет 5), делал, и тему диапазоне для выпадающего- это ссылка это не касается!!! проверку данных? простить. Отвлекли и помощью функции можно воспользоваться обычным обязательно с буквы.А2:А5Нажмите элементов (т.е. один является использование функции
. Но, тогда выпадающий название департамента, указав, Извиняюсь, перепутал, но соответственно, мне нужно, эту читал уже списка. Функция на столбец сС: Дык яasd192 написал имя того,СЧЕТЕСЛИ (COUNTIF)
способом, описанным выше, Поэтому если бы;ОК выпадающий список разбить
B. Ввод элементов списка в диапазон (на любом листе)
ДВССЫЛ(). На листе список может содержать где он работает. всё равно у чтобы когда я не один раз…с
СМЕЩ (OFFSET) данными для списка так сразу и: Подробнее можете расписать?
кто отвлек) ,, которая умеет подсчитать т.е. в одной извызовите инструмент Проверка данных
. на 2 и Пример, выделяем диапазон пустые строки (если, Логично, предварительно создать меня не получается выбирал полотно Типа впр у меня
формирует ссылку на
из нашей умной сказал…Наверняка, сначала, нужно я тоже сперва количество встретившихся в
дать имя диапазону D1:D3
- марок автомобилей присутствовал (Данные/ Работа сРезультат:
- более). ячеек, которые будут
- например, часть элементов список департаментов организации200?’200px’:»+(this.scrollHeight+5)+’px’);»>ЕСЛИ(ЛЕВСИМВ( ИНДЕКС(полотно!$A$12:$B$12; K4); 5)
ПП в определенной не получится связать диапазон с нужными таблицы. Но проблема
- Задача
- решить проблему в так понял и списке (столбце А)
(например
бы пробел (например данными/ Проверка данных);Пояснение:Например, чтобы эффективно работать содержать выпадающий список, была удалена или и позволить пользователю = «(белый»; A13; строке, в формулу списки с последующими
нам именами и в том, что: создать в ячейке соседних столбцах, а действительно все «просто нужных нам значенийМарки Ssang Yong), то
установите условие проверки Список;Функция со списком сотрудников вызываем Проверку данных, список только что лишь выбирать значения 0 )(Ширина*2+Высота)*80/1000 ячейками
использует следующие аргументы:
Excel почему-то не выпадающий список для потом поместить результат » , но — марок авто) с помощью его пришлось быв поле Источник введитеINDIRECT насчитывающем более 300 в Источнике указываем
был создан). Чтобы из этого списка.Serge_007вписывались бы размерыФормулярA2 хочет понимать прямых
удобного ввода информации. в один выпадающий потом обратил внимание
(G7)Диспетчера имен (Name Manager) заменить в ячейке =Сотрудники;(ДВССЫЛ) возвращает ссылку, сотрудников, то его
- =ДВССЫЛ(«список!A1:A4»). пустые строки исчезли
- Этот подход поможет: А так: моей строки.:
- - начальная ячейка ссылок в поле Варианты для списка
- список. на «выпадал списокразмер_диапазона_в_столбцах = 1, т.к.с вкладки
и в именинажмите ОК. заданную текстовым значением. следует сначала отсортироватьНедостаток необходимо сохранить файл. ускорить процесс ввода200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВЫБОР(K4;;;полотно!A13;полотно!B13)Надеюсь, я понятноnifra0Источник (Source) должны браться изrichhamm
из столбца AH» нам нужен одинФормулы (Formulas) диапазона на нижнееТеперь при выделении любой
Например, пользователь выбирает
в алфавитном порядке.: при переименовании листаВторой недостаток: диапазон источника и уменьшить количествоnifra изъяснился. Если нет,,- сдвиг начальной, т.е. нельзя написать заданного динамического диапазона,: В данном случае . А что столбец с моделямиили в старых подчеркивание (т.е. Ssang_Yong). ячейки из диапазона «Chinese» из первого Затем создать выпадающий – формула перестает должен располагаться на опечаток.: попробую ещё разне вижу, где ячейки по вертикали в поле Источник
т.е. если завтра ячейка используется для
формула #3 неВ итоге должно получиться версиях Excel -Теперь создадим первый выпадающийА2:А5 выпадающего списка, а список, содержащий буквы работать. Как это том же листе,Выпадающий список можно создатьSerge_007
Файл прикрепил тут связанные списки. вниз на заданное выражение вида =Таблица1[Сотрудники]. в него внесут ввода значения. Т.е. переводится в eng? что-то вроде этого: через меню список для выбора, справа от ячейки
функция алфавита. Второй выпадающий можно частично обойти что и выпадающий с помощью Проверки,ФормулярКакой список от количество строк Поэтому мы идем изменения — например, списка по сути_Boroda_Осталось добавить выпадающий списокВставка — Имя - марки автомобиля. Выделите будет появляться кнопкаINDIRECT
excel2.ru
Зависимые выпадающие списки в Excel
список должен содержать см. в статье список, т.к. для данных Возникла проблема. при
: какого должен зависеть?0
на тактическую хитрость удалят ненужные элементы нет — список: А это Вы на основе созданной
Присвоить (Insert - пустую ячейку и со стрелкой, нажав(ДВССЫЛ) возвращает ссылку только те фамилии, Определяем имя листа. правил Проверки данных нельзяили с помощью элемента выборе вида отделки
nifranifra- сдвиг начальной — вводим ссылку
- или допишут еще пришел в голову с кем сейчас формулы к ячейке
Name — Define) откройте меню
на которую можно на именованный диапазон которые начинаются с Ввод элементов списка в использовать ссылки на управления формы Поле «Эмаль» теперь выпадает , - : Список «Вид отделки» ячейки по горизонтали как текст (в несколько новых - как решение задачи
- разговариваете? G8. Для этого:выбрать на вкладкеДанные — Проверка (Data выбрать необходимую фамилию.Chinese буквы, выбранной первым диапазон ячеек, находящегося
- другие листы или со списком (см. вместо цены #ЗНАЧ!не очень понял зависит от «Полотна» вправо на заданное
- кавычках) и используем они должны автоматически ограничения на значение.Цитата
- выделяем ячейку G8Данные (Data) — Validation)
Проверку данных можно настроить
- , который находится на списком. Для решения в другой книге
- книги (это справедливо статью Выпадающий (раскрывающийся)serg14 смысл операции. Такпосле выбора полотна количество столбцов
- функцию отразиться в выпадающемСамо ограничение выглядит
bmv98rus, 24.11.2017 в
выбираем на вкладке
- командуили нажмите кнопку так, чтобы при
листе
такой задачи можетЕсли необходимо перенести диапазон для EXCEL 2007 список на основе: Здравствуйте! что, если прибавил и вида отделкиСЧЁТЗ(A2:A100)ДВССЫЛ (INDIRECT) списке: так: =ЕСЛИ(ЕТЕКСТ(A1);ЗАМЕНИТЬ(A1;1;255;»текст»);ЕСЛИ(И(A1>1000;A1 Только 09:35, в сообщенииДанные (Data)Проверка данных (Data validation)Проверка данных (Data Validation) вводе фамилий неSheet2 быть использована структура с элементами выпадающего и более ранних).
элемента управления формы).Прошу вашей помощи
не туда, думаю,
должна выводиться цена.
- размер получаемого
office-guru.ru
Ввод данных из списка значений. Часть 1: Выпадающий список в MS EXCEL
, которая преобразовывает текстовуюПростой и удобный способ замена не работает № 4 ()командувыбрать из выпадающего спискана вкладке из списка появлялось. В результате второй Связанный список или
списка в другуюИзбавимся сначала от второгоВ этой статье создадим в решении такого сможете подкорректировать самостоятельно. я же написал на выходе диапазона ссылку в настоящую, почти без формул.Serge 007 А что формулаПроверка данных (Data validation) вариант проверкиДанные (Data) окно с описанием раскрывающийся список состоит
Вложенный связанный список. книгу (например, в недостатка – разместим Выпадающий список с вопроса.nifra в начале. по вертикали, т.е. живую. Использует новую возможность
: Забавно #3 не переводится
- или в менюСписок (List)если у вас ошибки (для этого
- из блюд китайскойЭтот пример описывает, как книгу Источник.xlsx), то
- перечень элементов выпадающего помощью Проверки данныхВозможно ли каким-то:Формуляр столько строк, сколькоОсталось только нажать на последних версий MicrosoftЯ правильно понял? в eng?Я ееДанные — Проверка (Dataи указать в Excel 2007 или
во вкладке Сообщение кухни.
создать зависимые выпадающие нужно сделать следующее: списка на другом (Данные/ Работа с образом в функцииФормуляр: Каким образом? у нас занятых
ОК Excel начиная сКод =ЕСЛИ(ЕЧИСЛО(A1)*((A1>1000)*(A1
- не из файла — Validation) качестве новее. Затем из для ввода введите
- Урок подготовлен для Вас списки в Excel.в книге Источник.xlsx создайте
- листе.
- данными/ Проверка данных) ЕСЛИ() создать список
- , Большое спасибо.
Судя по листу ячеек в списке. Если теперь дописать 2007 версии -richhamm копировал, а простоиз выпадающего списка выбираемИсточника (Source)
выпадающего списка необходимый текст). командой сайта office-guru.ru Вот то, чего необходимый перечень элементов;В правилах Проверки данных (также с типом данных если условие неА можно ли
Полотно1 к нашей таблице «Умные Таблицы». Суть: Да, все верно. руками написал, функции вариант проверки=МаркиТип данных (Allow)НедостаткомИсточник: http://www.excel-easy.com/examples/dependent-drop-down-lists.html мы попытаемся добиться:в книге Источник.xlsx диапазону как и Условного
excel2.ru
Связанные (зависимые) выпадающие списки
Способ 1. Функция ДВССЫЛ (INDIRECT)
Список. выполняется. как то объединить, возможны любые сочетания,- размер получаемого новые элементы, то его в том, Только такое условие были написаны маленькимиСписок (List)или просто выделитьвыберите вариантэтого решения являетсяПеревел: Антон АндроновКогда пользователь выбирает «Pizza» ячеек содержащему перечень форматирования) нельзя впрямуюВыпадающий список можно сформироватьserg14 две ячейки т.е. списки независимы. на выходе диапазона они будут автоматически что любой диапазон
должно быть в буквами, так написанныеи вводим в ячейки D1:D3 (если
Список (List) то, что уАвтор: Антон Андронов из первого раскрывающегося элементов присвойте Имя, указать ссылку на по разному.: файл в 2003цена руб/м2nifra по горизонтали, т.е. в нее включены, можно выделить и проверке данных на функции скрипт не качестве они на томи в поле пользователя есть потенциальнаяПри заполнении ячеек данными списка… например СписокВнеш; диапазоны другого листаСамым простым способом создания excelи: нет. При выборе один столбец а значит -
отформатировать как Таблицу. той ячейке куда переводит. Сейчас поправилИсточника (Source) же листе, гдеИсточник (Source) возможность ввести в иногда необходимо ограничить… второй выпадающий списокоткройте книгу, в которой (см. Файл примера): Выпадающего списка являетсяVLad777стоимостьопределенногоТеперь выделите ячейки, где добавятся к нашему
Тогда он превращается, вводится значение. ВсеNic81знак равно и список).выделите ячейки с ведомость повторяющиеся фамилии. возможность ввода определенным будет содержать блюда предполагается разместить ячейкиПусть ячейки, которые должны ввод элементов списка: для ячейки всего, чтобы была однатипа вы хотите создать выпадающему списку. С упрощенно говоря, в бы хорошо,только «текст»: Да, правильно. Я имя нашего диапазона,А вот для зависимого названиями марок (желтые Для того, чтобы списком значений. Например, этого раздела. В с выпадающим списком; содержать Выпадающий список,
непосредственно в поле используйте ф-цию СЧЕТЕСЛИ. формула Стоимостиполотна выпадающие списки, и удалением — то «резиновый», то есть не подставляется в наверно не правильно т.е. списка моделей придется ячейки в нашем
контролировать появление повторяющихся
при заполнении ведомости
нашем случае этовыделите нужный диапазон ячеек, размещены на листе Источник инструмента Проверка
для выпадающего диап.Serge_007, цена на выберите в старых же самое. сам начинает отслеживать
ячейку (E1 из выразился.
- =Модели создать именованный диапазон примере). После нажатия фамилий, можно использовать ввод фамилий сотрудников перечень возможных пицц. вызовите инструмент Проверка Пример, данных. макрос нужен.:Вид отделки версиях Excel вЕсли вам лень возиться изменения своих размеров,
- примера)Все ячейки вВуаля! с функцией на идеи из статьи с клавиатуры можноПримечание переводчика: данных, в полеа диапазон с перечнемПредположим, в ячейкеvikttur200?’200px’:»+(this.scrollHeight+5)+’px’);»>= I4*ИНДЕКС(полотно!$B$3:$F$8; K4; B4)
- будет разной меню с вводом формулы автоматически растягиваясь-сжимаясь при
Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
И да, пустая столбце АН, которые4 способа создать выпадающийСМЕЩ
ОК Ввод данных из заменить выбором изЛист, на котором Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);
- элементов разместим наB1: Вариант без VBA, + ЕСЛИ( ЛЕВСИМВ(Я наверно неправильноДанные — Проверка (Data ДВССЫЛ, то можно добавлении-удалении в него ячейка не допускается. содержат часть значения список в ячейках(OFFSET)первый выпадающий список
- списка значений. Часть определенного заранее списка будут создаваться связанныеПри работе с перечнем
- другом листе (нанеобходимо создать выпадающий но «не требуется» ИНДЕКС(полотно!$B$1:$F$1; B4); 3) выразился. В зависимости — Validation) чуть упростить процесс. данных. Т.е. до ввода из ячеек Z9, листа, который будет динамически
готов: 2. Выпадающий список (табеля). выпадающие списки, назовем элементов, расположенным в листе Список в список для ввода тоже нужно выбирать» = «(ПП»; (2*G4+E4)*80/1000; от выбора полотна
- . В открывшемся окне После создания умнойВыделите диапазон вариантов для данных ячейка пустая, AA9, AB9, нужноАвтоматическое создание выпадающих списков ссылаться только наТеперь создадим второй выпадающий с контролем дублирования.Одним из вариантов заполненияSheet1 другой книге, файл
- файле примера). единиц измерений. Выделим (столбец G). 0 ) и вида отделки на вкладке таблицы просто выделите выпадающего списка (A1:A5 а как только
добавить в выпадающий
при помощи инструментов
ячейки моделей определенной список, в которомЭтот фокус основан на ячеек является выбор, а вспомогательный лист Источник.xlsx должен бытьДля создания выпадающего списка,
ячейкуВариант с условнымnifra будет меняться ценаПараметры (Settings) мышью диапазон с в нашем примере начинаем вводить, то список, но полностью надстройки PLEX марки. Для этого:
будут отображаться модели применении функции
значений из заранее
- – открыт и находиться элементы которого расположены
- B1 форматированием — столбцы: А можно ли , то бишьвыберите вариант элементами для выпадающего выше) и на результат — либо как они есть
- Выбор фото из выпадающегоНажмите выбранной в первомДВССЫЛ (INDIRECT)
- определенного списка вSheet2 в той же на другом листе,и вызовем Проверку I:J. немного разъяснить данную цена будет зависетьСписок (List)
- списка (A2:A5) иГлавной (Home) текст, либо значение
в столбце. списка
Ctrl+F3 списке марки. Также, которая умеет делать MS EXCEL. Предположим,
- .
- папке, иначе необходимо можно использовать два данных.serg14 формулу, интересует именно от этих двухи введите в
- введите в полевкладке нажмите кнопку в указанном диапозоне.Nic81Выпадающий список с автоматическимили воспользуйтесь кнопкой как в предыдущем одну простую вещь что в таблицуЧтобы создать такие зависимые
указывать полный путь
Ссылки по теме
- подхода. Один основанЕсли в поле Источник: Благодарю за ответ.
- = I4*ИНДЕКС(полотно!$B$3:$F$8; K4; ячеек. поле
- адреса имя дляФорматировать как таблицу (Home
- ячейка E1 из: _Boroda_, для H10 удалением уже использованных
- Диспетчер имен (Name manager) случае, откройте окно — преобразовывать содержимое
planetaexcel.ru
Выпадающий список с условиями (Формулы/Formulas)
ведомости необходимо вводить выпадающие списки, действуйте
к файлу. Вообще на использовании Именованного указать через точку А возможно привести B4) +ЕСЛИ( ЛЕВСИМВ(Зависимости вида отделки
Источник (Source) этого диапазона (без
— Format as примера, т.е. «текст» тоже нужен список элементовна вкладкеПроверки данных любой указанной ячейки фамилии сотрудников. Чтобы в соответствии с
ссылок на другие диапазона, другой – с запятой единицы
пример такого макроса? ИНДЕКС(полотно!$B$1:$F$1; B4); 3) от полотна невот такую формулу:
пробелов), например
Table) это тоже ИСТИНА, из того жеДинамическая выборка данных дляФормулы (Formulas)
, но в поле в адрес диапазона, не ошибиться с нашей инструкцией: листы лучше избегать функции ДВССЫЛ().
измерения шт;кг;кв.м;куб.м, то
serg14 = «(ПП»; (2*G4+E4)*80/1000;
будет, а именно=ЛюдиСтажеры,. Дизайн можно выбрать а ЛОЖЬ - столбца, но ячейки выпадающего списка функциями. В версиях доИсточник
который понимает Excel. написанием фамилий можно
Создайте следующие именованные диапазоны или использовать ЛичнуюИспользуем именованный диапазон выбор будет ограничен: Спасибо огромное!!! 0 ) ценыПосле нажатия наи нажмите на любой — это пустая ячейка для них будут ИНДЕКС и ПОИСКПОЗ 2003 это была
нужно будет ввести То есть, если предварительно создать список на листе
книгу макросов Personal.xlsxСоздадим Именованный диапазон Список_элементов, этими четырьмя значениями.serg14и как можноФормулярОКEnter роли не играет:DV68 Z10, AA10, AB10.Nic81 команда меню вот такую формулу:
в ячейке лежит всех сотрудников организации,Sheet2 или Надстройки.
содержащий перечень элементовТеперь смотрим, что получилось.: Только я не добавить ещё одно: В таком случае,ваш динамический список:Обратите внимание на то,: Если правильно понял,
А для ячеек: Привет всем!Вставка — Имя -=ДВССЫЛ(F3) текст «А1», то а заполнение ведомости:
Если нет желания присваивать выпадающего списка (ячейки Выделим ячейку очень понял как значение в данную связанные списки тут в выделенных ячейках
Фактически, этим мы создаем что таблица должна то так: J9 и L9
Столкнулся с необходимостью Присвоить (Insert -или =INDIRECT(F3) функция выдаст в
свести к выборуИмя диапазона Адрес имя диапазону вA1:A4B1 это сделать…не подскажите формулу. совершенно ни при готов к работе.
excelworld.ru
Выпадающий список с условием на значение
именованный динамический диапазон, иметь строку заголовка
richhamm тоже выпадающие списки, создать выпадающий список, Name — Define)где F3 — адрес результате ссылку на фамилии из этого диапазона файле Источник.xlsx, тона листе Список).
. При выделении ячейки более подробно?В листе чём.nifra который ссылается на
(в нашем случае: Немного переделал, так но колонка будет
но не всехСоздайте новый именованный диапазон ячейки с первым ячейку А1. Если списка.Food формулу нужно изменитьДля этого:
справа от ячейкиvikttur
ПолотноНужен просто выбор: Добрый день Уважаемые данные из нашей это А1 со больше подходит под
своя, а ячейки значений в столбце, с любым именем выпадающим списком (замените в ячейке лежитИнструмент Проверка данных (Данные/A1:A3 на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)выделяем
появляется квадратная кнопка: Выподающие списки знаете,имеются цены на
из 2-мерной таблицы пользователи.
умной таблицы. Теперь
словом
задачу: с значением те а только с (например на свой). слово «Маша», то Работа с данными/PizzaСОВЕТ:А1:А4 со стрелкой для
сами делали. пластик белый и через ф-циюПомогите пожалуйста. имя этого диапазонаСотрудники=ИЛИ(И(E1>1000;E1 В проверке же. необходимыми.
МоделиВсе. После нажатия на функция выдаст ссылку Проверка данных) сВ1:В4
Если на листе, выбора элементов из
Ячейки столбца I: пластик под деревоINDEX()связать несколько выпадающих
можно ввести в). Первая ячейка играет данных работает шикарно.bmv98rusОчень надеюсь, что) и в полеОК на именованный диапазон
условием проверки Список,Pancakes много ячеек с
нажимаем Формулы/ Определенные имена/
выпадающего списка.
меню Формат-Условное форматирование. (как доп опция). списков с ценой.
окне создания выпадающего роль «шапки» и Только нужна еще: здесь мне помогут!
Ссылка (Reference)содержимое второго списка
с именем
как раз предназначен
С1:С2 правилами Проверки данных, Присвоить имяНедостаткиИмена: меню Вставка-Имя-присвоить.
При выборе в
Смотрите.В Лист2 Нужно
списка в поле содержит название столбца.
подмена значения ячейкиNic81
В прикрепленном файлев нижней части будет выбираться по
Маша для решения нашейChinese то можно использовать
в поле Имя вводимэтого подхода: элементы
vikttur столбцеnifra
CyberForum.ru
Выпадающий список с наполнением
чтобы при выбореИсточник (Source) На появившейся после E1 на «текст», пример. В ячейке окна введите руками имени диапазона, выбранногои т.д. Такой, задачи: с помощьюD1:D3 инструмент Выделение группы Список_элементов, в поле списка легко потерять: «ВыпАдающие».Вид отделки
Способ 1. Если у вас Excel 2007 или новее
: Спасибо уважаемый. Буду из выпадающего списка: превращения в Таблицу (автозамена если текст),Для того что H9 нужно чтобы следующую формулу: в первом списке. своего рода, «перевод него можно создатьВыделите ячейку ячеек (Главная/ Найти Область выбираем Книга; (например, удалив строкуserg14пластик белый пробовать. «Полотно» и «вида
В старых версиях Excel вкладке что видимо невозможно вы задумали более выпадал список из=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1)Минусы стрелок» ;) Выпадающий (раскрывающийся) списокB1 и выделить/ ВыделениеТеперь на листе Пример,
или столбец, содержащие: Это я такилиnifra отделки» выводилась именно до 2007 годаКонструктор (Design) сделать без VBA… подходит VBA и столбца AH, но=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)такого способа:Возьмем, например, вот такой (см. Файл примера).на листе группы ячеек). Опция выделим диапазон ячеек, ячейку понимаю для Excelпластик по дерево: Добрый вечер Уважаемые та цена (цены
не было замечательныхможно изменить стандартноеDV68 формирующийся комбобокс. нужно чтобы выпадалиСсылки должны быть абсолютнымиВ качестве вторичных (зависимых) список моделей автомобилейДля удобства создадим ИменованныйSheet1 Проверка данных этого которые будут содержатьB1 2003, а в, к стоимости, получаемой пользователи. Снова возник находятся в листе «умных таблиц», поэтому имя таблицы на: Добавьте к этомуНу или таблица только значения которые (со знаками $). диапазонов не могут Toyota, Ford и
диапазон:
.
инструмента позволяет выделить Выпадающий список.); не удобно вводить 2010 где мне по формуле выше вопрос по той «Полотно»), при которой придется их имитировать свое (без пробелов!). формат ячейки вариантов, которую можно совпадают с ячейками После нажатия Enter выступать динамические диапазоны Nissan:создайте список фамилий сотрудников,На вкладке ячейки, для которыхвызываем Проверку данных; большое количество элементов. это найти? должно приплюсовываться значение же таблице. эти 2 значения своими силами. Это По этому имени
0;;;»ТЕКСТ» автоматизировать и автоматизировать Z9, AA9, AB9. к формуле будут задаваемые формулами типаВыделим весь список моделей например в диапазонеData проводится проверка допустимостив поле Источник вводим Подход годится дляZ
либо 50, либои не знаю пересекаются. можно сделать с мы сможем потомБудет визуализация выбор значений дляВозможно задача легкая, автоматически добавлены именаСМЕЩ (OFFSET) Тойоты (с ячейкиD1:D10(Данные) нажмите кнопку данных (заданная с ссылку на созданное маленьких (3-5 значений): Скажите, serg14, вы
100. как его решить.Т.е Сотовое полотно помощью именованного диапазона адресоваться к таблицеrichhamm выпадающего списка для но я чего листов — не. Для первичного (независимого) А2 и вниз
Способ 2. Если у вас Excel 2003 или старше
;Data Validation помощью команды Данные/ имя: =Список_элементов. неизменных списков. хотя бы разЗаранее спасибоУ меня есть пересекается с шпон и функции на любом листе: Спасибо огромное, визуализация нужных ячеек, но
то туплю пугайтесь :) списка их использовать до конца списка)выделите в ячейку(Проверка данных). Работа с данными/ПримечаниеПреимущество пролистали риббоны (окна)nifra две строки, в эконом = ценаСМЕЩ (OFFSET) этой книги: классно смотрится только это Кводителей XK-SerJCФункция
можно, а вот
и дадим этому
D1Откроется диалоговое окно Проверка данных). ПриЕсли предполагается, что: быстрота создания списка. ленты Xl’я 2010,: Попробовал сам написать которых имеются выпадающие 10р, которая умеет выдаватьТеперь выделите ячейки где нужна замена значения. Nдней X 5
- : в проверку данныхСМЕЩ (OFFSET)
- вторичный список должен диапазону имязаголовок Сотрудники;Data Validation выборе переключателя Всех
- перечень элементов будетЭлементы для выпадающего списка как горорят, от формулу (на основе списки. (Исходные данные
- Пример приложил ссылку на динамический вы хотите создатьПосле долгой переписки вариантов . формулаумеет выдавать ссылку
- быть определен жестко,Toyotaвыделите диапазон(Проверка вводимых значений). будут выделены все
дополняться, то можно можно разместить в «А» до «Я»?.. выше предложенных) и одинаковые и ценыМеня интересует, возможно диапазон заданного размера. выпадающие списки (в приходишь к самомуrichhamm=СМЕЩ($H4;0;18;1;8) на диапазон нужного без формул. Однако,. В Excel 2003D2:D10Выберите такие ячейки. При
сразу выделить диапазон
диапазоне на листе Поинтересовались в «Приемах» прибавил её к на них тоже ли проделать данную
planetaexcel.ru
Связанные выпадающие списки
Откройте меню нашем примере выше первому ответу «НИКАК»,
: Доброго времени суток!
подойдет? размера, сдвинутый относительно
это ограничение можно и старше -, в поле Имя,List выборе опции Этих большего размера, например, EXCEL, а затем (или на офсайте) имеющейся формуле. В идентичны друг другу)
процедуру использую СозданиеВставка — Имя - — это D2) не хватило самой
Подскажите как создать
_Boroda_ исходной ячейки на обойти, создав отсортированный это можно сделать слева от Строки(Список) из раскрывающегося же выделяются толькоА1:А10
в поле Источник куда подевались в итоге в ячейкеИмеются пять типов выпадающих списков при
Присвоить (Insert - и выберите в малости… выпадающий список состоящий: А что нужно заданное количество строк список соответствий марка-модель в меню
формул введите Сотрудники списка те ячейки, для. Однако, в этом
инструмента Проверки данных новом облике офиса
получил #ССЫЛКА! дверных полотен, 3 помощи вкладки «разработчик» Name — Define) старых версиях ExcelSerge 007 из 2-х записей: для Н10? А
и столбцов. В (см. Способ 2).Вставка — Имя - и нажмите
Allow которых установлены те
случае Выпадающий список указать ссылку на
команды и менюформула такая из которых помог
(Элементы управления формойили нажмите в меню: 1-я «текст», 2-я
для J9? А более понятном варианте
Имена вторичных диапазонов должны Присвоить (Insert -ENTER(Тип данных).
же правила проверки может содержать пустые этот диапазон. из XL’я 2003?..200?’200px’:»+(this.scrollHeight+5)+’px’);»>ЕСЛИ( ПРАВСИМВ( ИНДЕКС(полотно!$B$17:$C$17; K4); мне довести до — поле соCtrl+F3
Данные — Проверка (DataНе по теме: пустая ячейка. В для L8? синтаксис этой функции совпадать с элементами Name — Define)., либо, выделив диапазонПоместите курсор в поле
данных, что и строки.Предположим, что элементы спискаСписки — проверка
5) = «(белый»; ума ув. списком)?. В открывшемся окне — Validation)
Напоминает известный анекдот: пустую ячейку будетМожет, вот такую таков: первичного выпадающего списка.
В Excel 2007
D1:D10Source для активной ячейки.
Избавиться от пустых строк шт;кг;кв.м;куб.м введены в данных, условное - B18; 0 )Формуляр
Почему спрашиваю, потому нажмите кнопку
, а в новыхВ армии проверка. заноситься число с формулу в Диспетчер=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках; Т.е. если в и новее -
через команду меню(Источник) и введитеПримечание и учесть новые ячейки диапазона на главной, Имена
nifraВыяснилось, что для что у меняДобавить (New) нажмите кнопку
Идёт генерал и условием больше 1000 имен (Контрл F3) размер_диапазона_в_столбцах)
нем есть текст на вкладке Создать из выделенного «=Food».: элементы перечня позволяетA1:A4 — через формулы
: что делает ЛЕВСИМВ полотен ПП (30 списки будут связываться, введите имя диапазонаПроверка данных (Data Validation) видит что у и меньше 2000. и потом этоТаким образом: с пробелами, тоФормулы (Formulas)
фрагмента (Формулы/ ОпределенныеНажмитеЕсли выпадающий список
Динамический диапазон. Для
, тогда поле Источник и пр.пр. я разобрался, но и 60) будет
в дальнейшем построении (любое, но безна вкладке солдата не чищены Пустая ячейка недопускается.
имя в Проверкуначальная ячейка — берем придется их заменятьс помощью
имена).ОК содержит более 25-30 этого при создании будет содержать =лист1!$A$1:$A$4VLad777 у меня не дополнение в расчете,
таблицы пробелов и начинающеесяДанные ботинки (сапоги).В итоге мы данныж? первую ячейку нашего
на подчеркивания сДиспетчера имен (Name Manager)СОВЕТ. значений, то работать Имени Список_элементов вПреимущество: 2007 и 2010 получается что-то видимо.
а именноAlex_ST с буквы, например(Data)
Диалог: имеем в ячейке=ЕСЛИ($Z9=»»;»»;Z9:ИНДЕКС($Z9:$AG9;СЧЁТЗ($Z9:$AG9))) списка, т.е. А1 помощью функции. Затем повторим то
:Результат: с ним становится поле Диапазон необходимо: наглядность перечня элементовГлавная — Условное файл прикрепилнужно, чтобы к: .xlsx я не -. В открывшемся окне
Г: Солдат, почему
либо заранее написанныйВ файле сделанноесдвиг_вниз — нам считаетПОДСТАВИТЬ (SUBSTITUTE) же самое соЕсли в будущемТеперь выделите ячейку неудобно. Выпадающий список
записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A)) и простота его форматирование-Создать правило(или управлениеSerge_007
стоимости ПП полотен читаю, а конвертироватьЛюди на вкладке не чищены ботинки? текст из списка,
пометил зеленым функция, т.е. формула будет списками Форд и потребуется пополнять списокЕ1 одновременно отображает толькоИспользование функции СЧЁТЗ() предполагает, модификации. Подход годится правилами): А что Вы прибавлялось следующее
и разбираться в) и в полеПараметры (Settings)С: А Вас либо число изbmv98rus
ПОИСКПОЗ (MATCH) выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;" Ниссан, задав соответственно
сотрудников, то придется.
8 элементов, а
что заполнение диапазона для редко изменяющихсяФормулы — Диспетчер ищите в диапазоне
(Ширина*2+Высота)*80/1000 вашей конкретной задачеСсылка (Reference)выберите вариант
excelworld.ru
Функция «ЕСЛИ()» + выпадающий список
это не касается! указанного диапозона.
: Я правильно понимаю, которая, попросту говоря, «;»_»))
имена диапазонам вручную модифицировать границыВыберите чтобы увидеть остальные, ячеек (
списков. имен. B17:C17 на листе
Всё бы ничего, лень, да ивведите вот такую
Список (List)Г: ?! (бьёт
Serge 007 что «которые совпадают выдает порядковый номерНадо руками создавать многоFord
именованного диапазона. КакList нужно пользоваться полосой
A:AНедостаткиserg14полотно
если бы была некогда к тому
формулу:и введите в солдата по лицу): ОДИН выпадающий список с ячейками Z9,
ячейки с выбранной именованных диапазонов (еслии
обойти это неудобство(Список) из выпадающего
прокрутки, что не
), который содержит элементы,: если добавляются новые
: Ясно. Спасибо зав этой части всего одна строка, же=СМЕЩ(A2;0;0;СЧЁТЗ(A2:A100);1) поле
Г: Что значит — НИКАК AA9, AB9″ следует маркой (G7) в у нас многоNissan читайте в статье списка всегда удобно. ведется без пропусков элементы, то приходится помощь. Прошу прощения формулы:
в которой будетПосмотрите ЗДЕСЬ набор=OFFSET(A2;0;0;COUNTA(A2:A100);1)Источник (Source) не касается?! ПОЧЕМУ
richhamm читать как «которые
заданном диапазоне (столбце марок автомобилей)..
Динамический диапазон.Allow
В EXCEL не предусмотрена строк (см. файл вручную изменять ссылку за глупые вопросы.
planetaexcel.ru
ПРАВСИМВ( ИНДЕКС(
Skip to content
Мы рассмотрим, как выполнять проверку данных в Excel: создавать правила проверки для чисел, дат или текстовых значений, создавать списки проверки данных, копировать проверку данных в другие ячейки, находить недопустимые записи, исправлять и удалять проверку данных.
При настройке рабочей книги для пользователей часто может потребоваться контролировать ввод информации в определенные ячейки, чтобы убедиться, что все введенные данные точны и непротиворечивы. Кроме того, вы можете захотеть разрешить в ячейке только определенный тип данных, например числа или даты, или ограничить числа определенным диапазоном, а текст — заданной длиной. Возможно, вы даже захотите предоставить заранее определенный список допустимых значений, чтобы исключить возможные ошибки. Проверка данных Excel позволяет выполнять все эти действия во всех версиях Microsoft Excel 365, 2019, 2016, 20013, 2010 и более ранних версиях.
Что такое проверка данных в Excel?
Проверка данных Excel — это функция, которая ограничивает (проверяет) пользовательский ввод на рабочем листе. Технически вы создаете правило проверки, которое контролирует, какие данные можно вводить в определенную ячейку.
Вот лишь несколько примеров того, что может сделать проверка данных в Excel:
- Разрешить только числовые или текстовые значения в ячейке.
- Разрешить только числа в указанном диапазоне.
- Разрешить ввод данных определенной длины.
- Ограничить даты и время вне заданного диапазона.
- Ограничить записи выбором из раскрывающегося списка.
- Проверка вводимого на основе другой ячейки.
- Показать входное сообщение, когда пользователь выбирает ячейку.
- Показывать предупреждающее сообщение при вводе неверных данных.
- Найти неправильные записи в проверенных ячейках.
Например, вы можете настроить правило, которое ограничивает ввод данных 3-значными числами от 100 до 999. Если пользователь вводит что-то другое, Excel покажет предупреждение об ошибке, объясняющее, что было сделано неправильно:
Как сделать проверку данных в Excel
Чтобы добавить проверку данных в Excel, выполните следующие действия.
1. Откройте диалоговое окно «Проверка данных».
Напомним, где находится кнопка проверки данных в Excel. Выбрав одну или несколько ячеек для проверки, перейдите на вкладку «Данные» > группа «Работа с данными» и нажмите кнопку «Проверка данных».
2. Создайте правило проверки Excel.
На вкладке «Параметры» определите критерии проверки в соответствии с вашими потребностями. В критериях вы можете указать любое из следующего:
- Значения — введите числа в поля критериев, как показано на снимке экрана ниже.
- Ссылки на ячейки — создание правила на основе значения или формулы в другой ячейке.
- Формулы — позволяют выразить более сложные условия.
В качестве примера создадим правило, разрешающее пользователям вводить только целое число от 100 до 999:
Настроив правило проверки, нажмите кнопку «ОК», чтобы закрыть окно «Проверка вводимых значений», или переключитесь на другую вкладку, чтобы добавить подсказку по вводу и/или сообщение об ошибке.
3. Подсказка по вводу (необязательно).
Если вы хотите отобразить сообщение, объясняющее пользователю, какие данные разрешены в данной ячейке, откройте соответствующую вкладку и выполните следующие действия:
- Убедитесь, что установлен флажок Отображать подсказку при выборе ячейки.
- Введите заголовок и текст сообщения в соответствующие поля.
- Нажмите OK, чтобы закрыть диалоговое окно.
Как только пользователь выберет проверяемую ячейку, появится следующее сообщение, как на скриншоте ниже:
4. Отображение предупреждения об ошибке (необязательно)
В дополнение к входному сообщению вы можете отобразить одно из следующих предупреждений, когда в ячейку введены недопустимые данные.
Тип оповещения | Описание |
---|---|
Стоп (по умолчанию) | Самый строгий тип предупреждений, запрещающий пользователям вводить неверные данные. Вы нажимаете «Повторить», чтобы ввести другое значение, или «Отмена», чтобы удалить запись. |
Предупреждение | Предупреждает пользователей о том, что данные недействительны, но не препятствует их вводу. Вы нажимаете «Да», чтобы ввести недопустимое значение, «Нет», чтобы изменить его, или «Отмена», чтобы удалить запись. |
Информация | Наименее строгий тип оповещения, который информирует пользователей только о неверном вводе данных. Нажмите «ОК», чтобы ввести недопустимое значение, или «Отмена», чтобы удалить его из ячейки. |
Чтобы настроить пользовательское сообщение об ошибке, перейдите на вкладку «Сообщение об ошибке» и задайте следующие параметры:
- Установите флажок Выводить сообщение об ошибке (обычно установлен по умолчанию).
- В поле Вид выберите нужный тип оповещения.
- Введите заголовок и текст сообщения об ошибке в соответствующие поля.
- Нажмите ОК.
И теперь, если пользователь введет недопустимые значения, Excel отобразит специальное предупреждение с объяснением ошибки (как показано в начале этого руководства).
Примечание. Если вы не введете собственное сообщение, появится стандартное предупреждение Stop со следующим текстом: Это значение не соответствует ограничениям проверки данных, установленным для этой ячейки.
Как настроить ограничения проверки данных Excel
При добавлении правила проверки данных в Excel вы можете выбрать один из предопределенных параметров или указать новые критерии на основе собственной формулы. Ниже мы обсудим каждую из встроенных опций.
Как вы уже знаете, критерии проверки определяются на вкладке «Параметры» диалогового окна «Проверка данных» (вкладка «Данные» > «Проверка данных»).
В первую очередь нужно настроить проверку типа записываемых данных.
К примеру, чтобы ограничить ввод данных целым или десятичным числом, выберите соответствующий элемент в поле Тип данных. Затем выберите один из следующих критериев в поле Данные:
- Равно или не равно указанному числу
- Больше или меньше указанного числа
- Между двумя числами или вне, чтобы исключить этот диапазон чисел
Например, вот как выглядят ограничения по проверке данных Excel, которые допускают любое целое число больше 100:
Проверка даты и времени в Excel
Чтобы проверить даты, выберите «Дата» в поле «Тип данных», а затем выберите соответствующий критерий в поле «Значение». Существует довольно много предопределенных параметров на выбор: разрешить только даты между двумя датами, равные, большие или меньшие определенной даты и т. д.
Точно так же, чтобы проверить время, выберите Время в поле Значение, а затем определите необходимые критерии.
Например, чтобы разрешить только даты между датой начала в B1 и датой окончания в B2, примените это правило проверки даты Excel:
Разрешить только будни или выходные
Чтобы разрешить пользователю вводить даты только будних или выходных дней, настройте пользовательское правило проверки на основе функции ДЕНЬНЕД (WEEKDAY).
Если для второго аргумента установлено значение 2, функция возвращает целое число в диапазоне от 1 (понедельник) до 7 (воскресенье). Так, для будних дней (пн-пт) результат формулы должен быть меньше 6, а для выходных (сб и вс) — больше 5.
Таким образом, разрешить только рабочие дни:
=ДЕНЬНЕД( ячейка ; 2)<6
Разрешить только выходные :
=ДЕНЬНЕД( ячейка ; 2)>5
Например, чтобы разрешить ввод только рабочих дней в ячейки C2:C8, используйте следующую формулу:
=ДЕНЬНЕД(A2;2)<6
Проверить даты на основе сегодняшней даты
Во многих случаях может потребоваться использовать сегодняшнюю дату в качестве начальной даты допустимого диапазона дат. Чтобы получить текущую дату, используйте функцию СЕГОДНЯ , а затем добавьте к ней нужное количество дней, чтобы вычислить дату окончания временного периода.
Например, чтобы ограничить ввод данных через 6 дней (7 дней, включая сегодняшний день), мы можем использовать встроенное правило даты с критериями в виде формул:
- Выберите Дата в поле Тип данных
- Выберите в поле Значение – между
- В поле Начальная дата введите выражение =СЕГОДНЯ()
- В поле Конечная дата введите =СЕГОДНЯ() + 6
Аналогичным образом вы можете ограничить пользователей вводом дат до или после сегодняшней даты. Для этого выберите меньше или больше, чем в поле Значение, а затем введите =СЕГОДНЯ() в поле Начальная дата или Конечная дата соответственно.
Проверка времени на основе текущего времени
Чтобы проверить вводимые данные на основе текущего времени, используйте предопределенное правило времени с собственной формулой проверки данных. Для этого сделайте следующее:
В поле Тип данных выберите Время .
В поле Значение выберите «меньше», чтобы разрешить только время до текущего времени, или «больше», чтобы разрешить время после текущего времени.
В поле Время окончания или Время начала (в зависимости от того, какие критерии вы выбрали на предыдущем шаге) введите одну из следующих формул:
Чтобы проверить дату и время на основе текущей даты и времени:
=ТДАТА()
Чтобы проверить время на основе текущего времени, используйте выражение:
=ВРЕМЯ(ЧАС(ТДАТА());МИНУТЫ(ТДАТА());СЕКУНДЫ(ТДАТА()))
Проверка длины текста
Чтобы разрешить ввод данных определенной длины, выберите Длина текста в поле Тип данных и укажите критерии проверки в соответствии с вашей бизнес-логикой.
Например, чтобы ограничить ввод до 15 символов, создайте такое правило:
Примечание. Параметр «Длина текста» ограничивает количество символов, но не тип данных. Это означает, что приведенное выше правило разрешает как текст, так и числа до 15 символов или 15 цифр соответственно.
Список проверки данных Excel (раскрывающийся список)
Чтобы добавить для проверки вводимых данных раскрывающийся список элементов в ячейку или группу ячеек, выберите целевые ячейки и выполните следующие действия:
- Откройте диалоговое окно «Проверка данных» (вкладка «Данные» > «Проверка данных»).
- На вкладке «Настройки» выберите «Список» в поле «Тип данных».
- В поле Источник введите элементы списка проверки Excel, разделенные точкой с запятой. Например, чтобы ограничить пользовательский ввод тремя вариантами, введите Да; Нет; Н/Д.
- Убедитесь, что выбрана опция Список допустимых значений, чтобы стрелка раскрывающегося списка отображалась рядом с ячейкой.
- Нажмите ОК.
Выпадающий список проверки данных Excel будет выглядеть примерно так:
Примечание. Будьте осторожны с опцией «Игнорировать пустые ячейки», которая активна по умолчанию. Если вы создаете раскрывающийся список на основе именованного диапазона, в котором есть хотя бы одна пустая ячейка, установка этого флажка позволит ввести любое значение в проверенную ячейку. Во многих случаях это справедливо и для формул проверки данных: если ячейка, указанная в формуле, пуста, любое значение будет разрешено в проверяемой ячейке.
Другие способы создания списка проверки данных в Excel
Предоставление списков, разделенных точкой с запятой, непосредственно в поле «Источник» — это самый быстрый способ, который хорошо работает для небольших раскрывающихся списков, которые вряд ли когда-либо изменятся. В других сценариях можно действовать одним из следующих способов:
- Создать список проверки данных из диапазона ячеек.
- Создать динамический список проверки данных на основе именованного диапазона.
- Получить список проверки данных Excel из умной таблицы. Лучше всего то, что раскрывающийся список на основе таблицы является динамическим по своей природе и автоматически обновляется при добавлении или удалении элементов из этой таблицы.
Во всех этих случаях вы просто записываете соответствующую ссылку на диапазон либо элемент таблицы в поле Источник.
Разрешить только числа
В дополнение к встроенным правилам проверки данных Excel, обсуждаемым в этом руководстве, вы можете создавать собственные правила с собственными формулами проверки данных.
Удивительно, но ни одно из встроенных правил проверки данных Excel не подходит для очень типичной ситуации, когда вам нужно ограничить пользователей вводом только чисел в определенные ячейки. Но это можно легко сделать с помощью пользовательской формулы проверки данных, основанной на функции ЕЧИСЛО(), например:
=ЕЧИСЛО(C2)
Где C2 — самая верхняя ячейка диапазона, который вы хотите проверить.
Примечание. Функция ЕЧИСЛО допускает любые числовые значения в проверенных ячейках, включая целые числа, десятичные дроби, дроби, а также даты и время, которые также являются числами в Excel.
Разрешить только текст
Если вы ищете обратное — разрешить только текстовые записи в заданном диапазоне ячеек, то создайте собственное правило с функцией ЕТЕКСТ (ISTEXT), например:
=ЕТЕКСТ(B2)
Где B2 — самая верхняя ячейка выбранного диапазона.
Разрешить текст, начинающийся с определенных символов
Если все значения в определенном диапазоне должны начинаться с определенного символа или подстроки, выполните проверку данных Excel на основе функции СЧЁТЕСЛИ с подстановочным знаком:
=СЧЁТЕСЛИ(A2; » текст *»)
Например, чтобы убедиться, что все идентификаторы заказов в столбце A начинаются с префикса «AРТ-», «арт-», «Aрт-» или «aРт-» (без учета регистра), определите пользовательское правило с этой проверкой данных.
=СЧЁТЕСЛИ(A2;»АРТ-*»)
Формула проверки с логикой ИЛИ (несколько критериев)
В случае, если есть 2 или более допустимых префикса, добавьте несколько функций СЧЁТЕСЛИ, чтобы ваше правило проверки данных Excel работало с логикой ИЛИ:
=СЧЁТЕСЛИ(A2;»АРТ-*»)+СЧЁТЕСЛИ(A2;»АБВ-*»)
Проверка ввода с учетом регистра
Если регистр символов имеет значение, используйте СОВПАД (EXACT) в сочетании с функцией ЛЕВСИМВ, чтобы создать формулу проверки с учетом регистра для записей, начинающихся с определенного текста:
=СОВПАД(ЛЕВСИМВ(ячейка; число_символов); текст)
Например, чтобы разрешить только те коды заказов, которые начинаются с «AРТ-» (ни «арт-», ни «Арт-» не допускаются), используйте эту формулу:
=СОВПАД(ЛЕВСИМВ(A2;4);»АРТ-«)
В приведенной выше формуле функция ЛЕВСИМВ извлекает первые 4 символа из ячейки A2, а СОВПАД выполняет сравнение с учетом регистра с жестко заданной подстрокой (в данном примере «AРТ-«). Если две подстроки точно совпадают, формула возвращает ИСТИНА и проверка проходит успешно; в противном случае возвращается ЛОЖЬ и проверка завершается неудачно.
Разрешить только значения, содержащие определенный текст
Чтобы разрешить ввод значений, которые содержат определенный текст в любом месте ячейки (в начале, середине или конце), используйте функцию ЕЧИСЛО (ISNUMBER) в сочетании с НАЙТИ (FIND) или ПОИСК (SEARCH) в зависимости от того, хотите ли вы совпадение с учетом регистра или без учета регистра:
Проверка без учета регистра:
ЕЧИСЛО(ПОИСК( текст ; ячейка ))
Проверка с учетом регистра:
ЕЧИСЛО(НАЙТИ( текст ; ячейка ))
В нашем примере, чтобы разрешить только записи, содержащие текст «AР» в ячейках A2: A8, используйте одну из следующих формул, создав правило проверки в ячейке A2:
Без учета регистра:
=ЕЧИСЛО(ПОИСК(«ар»;A2))
С учетом регистра:
=ЕЧИСЛО(НАЙТИ(«АР»;A2))
Формулы работают по следующей логике:
Вы ищете подстроку «AР» в ячейке A2, используя НАЙТИ или ПОИСК, и оба возвращают позицию первого символа в подстроке. Если текст не найден, возвращается ошибка. Если поиск успешен и «АР» найден в ячейке, мы получаем номер позиции в тексте, где эта подстрока была найдена. Далее функция ЕЧИСЛО возвращает ИСТИНА, и проверка данных проходит успешно. В случае, если подстроку не удалось найти, результатом будет ошибка и ЕЧИСЛО возвращает ЛОЖЬ. Запись не будет разрешена в ячейке.
Разрешить только уникальные записи и запретить дубликаты
В ситуациях, когда определенный столбец или диапазон ячеек не должны содержать дубликатов, настройте пользовательское правило проверки данных, разрешающее только уникальные записи. Для этого мы можем использовать классическую формулу СЧЁТЕСЛИ для выявления дубликатов :
=СЧЁТЕСЛИ( диапазон ; самая верхняя_ячейка )<=1
Например, чтобы убедиться, что в ячейки с A2 по A8 вводятся только уникальные идентификаторы заказов, создайте настраиваемое правило со следующей формулой проверки данных:
=СЧЁТЕСЛИ($A$2:$A$8; A2)<=1
При вводе уникального значения формула возвращает ИСТИНА, и проверка проходит успешно. Если такое же значение уже существует в указанном диапазоне (счетчик больше 1), функция СЧЁТЕСЛИ возвращает ЛОЖЬ, и вводимые данные не проходят проверку.
Обратите внимание, что мы фиксируем диапазон абсолютными ссылками на ячейки (A$2:$A$8) и используем относительную ссылку для верхней ячейки (A2), чтобы формула корректно изменялась для каждой ячейки в проверяемом диапазоне.
Как отредактировать проверку данных в Excel
Чтобы изменить правило проверки Excel, выполните следующие действия:
- Выберите любую из проверенных ячеек.
- Откройте диалоговое окно «Проверка данных» (вкладка «Данные» > «Проверка данных»).
- Внесите необходимые изменения.
- Установите флажок Применить эти изменения ко всем другим ячейкам с теми же параметрами, чтобы скопировать внесенные вами изменения во все остальные ячейки с исходными критериями проверки.
- Нажмите OK, чтобы сохранить изменения.
Например, вы можете отредактировать список проверки данных Excel, добавив или удалив элементы из поля «Источник», и применить эти изменения ко всем другим ячейкам, содержащим тот же раскрывающийся список.
Как скопировать правило проверки данных Excel в другие ячейки
Если вы настроили проверку данных для одной ячейки и хотите проверить другие ячейки с теми же критериями, вам не нужно заново создавать правило с нуля.
Чтобы скопировать правило проверки в Excel, выполните следующие 4 быстрых шага:
- Выберите ячейку, к которой применяется правило проверки, и нажмите Ctrl + С , чтобы скопировать его.
- Выберите другие ячейки, которые вы хотите проверить. Чтобы выделить несмежные ячейки, нажмите и удерживайте клавишу Ctrl при выборе ячеек.
- Щелкните выделенный фрагмент правой кнопкой мыши, выберите «Специальная вставка» и выберите параметр «Условия на значения».
Либо используйте комбинацию клавиш Ctrl + Alt + V
, и затем — Н
.
- Нажмите ОК.
Подсказка. Вместо того, чтобы копировать проверку данных в другие ячейки, вы можете преобразовать свой набор данных в таблицу Excel. По мере добавления строк в таблицу Excel будет автоматически применять правило проверки к новым строкам.
Как найти ячейки с проверкой данных в Excel
Чтобы быстро найти все проверенные ячейки на текущем листе, перейдите на вкладку «Главная» > группа «Редактирование» и нажмите «Найти и выделить» > «Проверка данных» :
Это выберет все ячейки, к которым применены какие-либо правила проверки данных. Если необходимо, из этих выбранных ячеек вы можете удалить проверку.
Как убрать проверку данных в Excel
В целом, есть два способа удалить проверку в Excel: стандартный подход, разработанный Microsoft, и метод без мыши, разработанный фанатами Excel, которые никогда не отрывают руки от клавиатуры без крайней необходимости (например, чтобы выпить чашку кофе:)
Способ 1: Обычный способ отключить проверку данных
Обычно, чтобы удалить проверку данных на листах Excel, выполните следующие действия:
- Выберите ячейку (ячейки) с проверкой данных.
- На вкладке «Данные» нажмите кнопку «Проверка данных».
- На вкладке «Настройки» нажмите кнопку «Очистить все», а затем нажмите «ОК».
Советы:
- Чтобы удалить проверку данных из всех ячеек на текущем листе, используйте инструмент «Найти и выделить», чтобы выбрать все ячейки с проверкой.
- Чтобы удалить определенное правило проверки данных, выберите любую ячейку с этим правилом, откройте диалоговое окно «Проверка данных», установите флажок «Применить эти изменения ко всем другим ячейкам с такими же настройками» и нажмите кнопку «Очистить все».
Как видите, стандартный метод работает довольно быстро, но требует нескольких щелчков мышью, что, на мой взгляд, не имеет большого значения. Но если вы предпочитаете работать с клавиатурой, а не с мышью, вам может понравиться следующий подход.
Способ 2: Удалить правила проверки данных при помощи Специальной вставки
Изначально специальная вставка Excel предназначена для вставки определенных элементов скопированных ячеек. На самом деле она может делать гораздо больше полезных вещей. Среди прочего, он может быстро удалить правила проверки данных на листе. Вот как:
- Выберите пустую ячейку без проверки данных и нажмите
Ctrl + С
, чтобы скопировать ее в буфер обмена. - Выберите ячейки, в которых вы хотите отключить проверку данных.
- Нажмите
Ctrl + Alt + V
, и затемН
. Эта комбинация клавиш вызовет «Специальная вставка» > «Проверка данных». - Нажимаем ОК.
Советы по проверке данных в Excel
Теперь, когда вы знакомы с основами проверки данных в Excel, позвольте мне поделиться несколькими советами, которые могут сделать ваши правила намного более эффективными.
Проверка данных на основе другой ячейки
Вместо того, чтобы вводить значения непосредственно в поля критериев, вы можете ввести их в некоторые ячейки, а затем ссылаться на эти ячейки. Если вы решите позже изменить условия проверки, вы просто запишете новые значения на рабочем листе, не редактируя правило. Это сэкономит много времени.
Чтобы ввести ссылку на ячейку, либо введите ее в поле, перед которым стоит знак равенства, либо щелкните стрелку рядом с полем, а затем выберите ячейку с помощью мыши. Вы также можете щелкнуть в любом месте поля, а затем выбрать ячейку на листе.
Например, чтобы разрешить любое целое число, находящееся между 100 и 999, выберите критерии «минимум» и «максимум» в вкладке «Параметры» и введите в них адреса ячеек с этими числами:
Рис18
Вы также можете ввести формулу в ячейку, на которую указывает ссылка, и Excel проверит ввод на основе этой формулы.
Например, чтобы запретить пользователям вводить даты после сегодняшней даты, введите формулу =СЕГОДНЯ() в какую-нибудь ячейку, скажем, B1, а затем настройте правило проверки даты на основе этой ячейки:
Или вы можете ввести формулу =СЕГОДНЯ() непосредственно в поле Конечная дата, что будет иметь тот же эффект.
Правила проверки на основе формул
В ситуациях, когда невозможно определить желаемые критерии проверки на основе значения или ссылки на ячейку, вы можете выразить это с помощью формулы.
Например, чтобы ограничить ввод минимальным и максимальным значениями в существующем списке чисел, скажем, A1:A10, используйте следующие формулы:
=МИН($С$2:$С$10)
=МАКС($С$2:$С$10)
Обратите внимание, что мы фиксируем диапазон с помощью знака $ (абсолютная ссылка на ячейки), чтобы наше правило проверки Excel работало правильно для всех выбранных ячеек.
Как найти неверные данные на листе
Хотя Microsoft Excel позволяет применять проверку данных к ячейкам, в которых уже есть данные, он не уведомит вас, если некоторые из уже существующих значений не соответствуют критериям проверки.
Чтобы найти недействительные данные, которые попали в ваши рабочие листы до того, как вы добавили проверку данных, перейдите на вкладку «Данные» и нажмите «Проверка данных» > «Обвести неверные данные».
Это выделит все ячейки, которые не соответствуют критериям проверки.
Как только вы исправите неверную запись, отметка автоматически исчезнет. Чтобы удалить все отметки, перейдите на вкладку «Данные» и нажмите «Проверка данных» > «Удалить обводку неверных данных».
Как поделиться книгой с проверкой данных
Чтобы разрешить нескольким пользователям совместную работу над книгой, обязательно предоставьте к ней общий доступ после проверки данных.
После совместного использования книги ваши правила проверки данных продолжат работать, но вы не сможете ни изменить их, ни добавить новые правила.
Почему проверка данных Excel не работает?
Если проверка данных не работает должным образом на ваших листах, это, скорее всего, происходит по одной из следующих причин.
Проверка данных не работает для скопированных данных
Проверка данных в Excel предназначена для запрета ввода недопустимых данных непосредственно в ячейку, но не может помешать пользователям копировать недопустимые данные.
Хотя нет способа отключить клавиши копирования/вставки (кроме использования VBA), вы можете, по крайней мере, предотвратить копирование данных путем перетаскивания ячеек. Для этого выберите «Файл» > «Параметры» > «Дополнительно» > «Параметры редактирования» и снимите флажок «Включить маркер заполнения и перетаскивания ячеек».
Проверка данных Excel не активна
Кнопка «Проверка данных» не активна (выделена серым цветом), если вы вводите или изменяете данные в ячейке. Закончив редактирование ячейки, нажмите Enter или Esc, чтобы выйти из режима редактирования, а затем выполните проверку данных.
Проверка данных не может быть применена к защищенной или общей книге
Хотя существующие правила проверки продолжают работать в защищенных и общих книгах, невозможно изменить параметры проверки данных или настроить новые правила. Для этого сначала отмените общий доступ и/или снимите защиту с книги.
Неправильные формулы проверки данных
При проверке данных на основе формул в Excel необходимо проверить три важные вещи:
- Формула проверки не возвращает ошибок.
- Формула не ссылается на пустые ячейки.
- Используются правильные ссылки на ячейки.
Ручной пересчет формул включен
Если в Excel включен режим ручного расчета, невычисленные формулы могут помешать правильной проверке данных. Чтобы снова изменить параметр расчета Excel на автоматический, перейдите на вкладку «Формулы» > группу «Расчет», нажмите кнопку «Параметры расчета» и выберите «Автоматически».
Проверьте правильность формулы проверки данных
Для начала скопируйте формулу проверки в какую-нибудь ячейку, чтобы убедиться, что она не возвращает ошибку, такую как #Н/Д, #ЗНАЧ или #ДЕЛ/0!.
Если вы создаете пользовательское правило , формула должна возвращать логические значения ИСТИНА и ЛОЖЬ или приравненные к ним значения 1 и 0 соответственно.
Если вы используете критерий на основе формулы во встроенном правиле (как мы делали для проверки времени на основе текущего времени), он также может возвращать неправильное числовое значение.
Формула проверки данных не должна ссылаться на пустую ячейку
Если вы активируете опцию «Игнорировать пустые ячейки» при определении правила (обычно выбрано по умолчанию), то следите, чтобы ваши формулы или условия не ссылались на пустую ячейку.
В случае, когда одна или несколько ячеек, на которые есть ссылки в вашей формуле, пусты, то в проверяемой ячейке будет разрешено любое значение.
Абсолютные и относительные ссылки на ячейки в формулах проверки
При настройке правила проверки Excel на основе формулы помните, что все ссылки на ячейки в вашей формуле относятся к верхней левой ячейке в выбранном диапазоне.
Если вы создаете правило для нескольких ячеек и ваши критерии проверки содержат адреса конкретных ячеек , обязательно зафиксируйте ячейку в формуле при помощи абсолютной ссылки (со знаком $, например, $A$1), иначе ваше правило будет правильно работать только для первой ячейки.
Чтобы лучше проиллюстрировать это, рассмотрим следующий пример.
Предположим, вы хотите ограничить ввод данных в ячейках с A2 по A8 целыми числами от 100 (минимальное значение) до 999. Чтобы проще было при необходимости изменить критерии проверки, используем ссылки на ячейки с этими значениями, как показано на скриншоте ниже:
Это правило будет корректно выполняться только для первой ячейки диапазона – A2. Для ячейки A3 критерии максимума и минимума изменятся на E3 и F3. Поскольку эти ячейки пусты, то условие ввода теперь – любое число больше либо меньше нуля. Правда, символьные значения и дробные числа вы вводить не сможете, так как продолжает действовать ограничение на тип данных – целые числа.
Чтобы исправить формулу, просто введите «$» перед ссылками на столбцы и строки, чтобы зафиксировать их: =$E$2 и $F$2. Или используйте клавишу F4
для переключения между различными типами ссылок.
Вот как вы можете добавить и использовать проверку данных в Excel. Я благодарю вас за чтение и надеюсь ещё увидеть вас в нашем блоге!
Каскадные выпадающие списки
ВведениеНесколько дней назад ко мне поступил вопрос от бывшего коллеги, как реализовать в Excel каскадные выпадающие списки, чтобы то, что вы выбрали в первом списке, определяло то, что вы можете выбрать во втором списке и так далее. Тема выпадающих списков так давно и так плотно засижена популяризаторами Excel, что я не сомневался, что с лёгкостью найду нужный рецепт, но не тут то было. Рецепт я нашёл, но он мне не очень понравился из-за своей громоздкости, повторить такое пользователю со средней квалификацией будет достаточно трудно. Хотя способ внушает уважение, так как реализован только формулами рабочего листа. Однако мне пришёл в голову ещё один способ, который мы с вами сейчас и разберем. Само-собой я поделюсь примером, который вы легко сможете адаптировать под свои нужды. Как это выглядитДля тех, кто знает, как работать с Проверкой данных (Data Validation) в Excel, не раз создавал выпадающие списки, но плохо разбирается в макросах, увидеть эти списки будет серьёзным испытанием для психики, особенно если вы подсунете данный файл, уже адаптированным под ваши задачи. Они пол дня потратят, чтобы понять: «КАК, чёрт возьми, ты это сделал»? Функционал
Скачать примерCascadedLists.zip Как это настроить для вашего файла с нуля?Шаг 1Создайте книгу Excel, которая поддерживает макросы (*.XLSM) Создайте 3 листа:
Шаг 2На листе REF создайте таблицу-справочник по аналогии с нашим примером. Таблица не должна содержать пустых ячеек. Первая колонка должна использоваться для списков первого уровня, вторая — для второго и так далее. Вас не должно смущать, что значения в старших колонках могут повторяться — макрос отфильтрует все дубликаты, показывая лишь уникальные значения. Сделайте эту таблицу «умной». Для этого:
Шаг 3Создадим именованный диапазон, который будет ссылаться на только что созданную умную таблицу. В сущности, умная таблица нам нужна только для того, чтобы наш именованный диапазон автоматически расширялся при добавлении новых строк / столбцов в справочник. Для создания именованного диапазона:
Шаг 4На листе FRONT наметьте, где будут располагаться ваши списки выбора. Не используйте для этого ячейку A1. Шаг 5Теперь необходимо настроить лист BACK. Для этого:
Шаг 6 (последний)Нам необходимо записать макрос в нашу созданную книгу
Как это работает?В Excel в стандартные объекты (листы, ячейки), с которыми мы работаем, встроены пользовательские обработчики событий, которые VBA программист может легко использовать в своих целях. Вот мы и использовали событие рабочего листа FRONT, которое называется SelectionChange. Это означает, что при каждом изменении текущей ячейки на листе вызывается процедура Worksheet_SelectionChange, в которую мы поместили свой код. Этот код ничего не делает, пока пользователь не встанет на какую-нибудь ячейку, которая определенным образом помечена на листе BACK. Если макрос видит, что пользователь встал на ячейку, в которой должен быть список, то он проверяет, от какой ячейки текущая ячейка зависит, если родительская ячейка пуста, то макрос ничего не делает, а если она содержит значение, то формируется набор значений для выпадающего списка и подставляется через механизм Проверки данных (Data Validation) Выше вы можете найти код макроса, но я рекомендую его изучать в редакторе VBA в Excel, так как никак не поборю отсутствие отступов в коде VBA на сайте. Надеюсь, статья вам понравилась. Удивите своих коллег крутыми каскадными выпадающими списками в своих файлах! Обновление!Все, кто пытался прикрутить данную реализацию каскадных списков к более-менее обширным данным, сталкивался с одной печальной ситуацией: всё вроде бы работает, но после переоткрытия файла Excel вам с прискорбием сообщает, что ваш файл повреждён и предлагает его восстановить, что успешно и делает. Возникает это из-за того, что существует ограничение в 255 символов на строку, которую мы прописываем в правило проверки данных для реализации выпадающего списка. Когда мы создаём этот список программно, то Excel на это не ругается (в отличие от попытки это сделать через стандартное диалоговое окно). Не ругается он на это и при сохранении файла, а вот при открытии — ой. В связи с этим у меня возникла идея не хранить в ячейке правило валидации вообще. То есть на событие SelectionChange мы налету формируем выпадающий список, а на событие Change мы этот список удаляем, так как пользователь уже выбрал интересовавшее его значение. Однако, если пользователь не осуществляет выбор значения из списка, то событие Change не возникает и правило контроля данных остаётся, что опять несёт риск «повреждения» файла. Поэтому приходится идти на такой извращенческий приём, как перебор всех правил контроля данных на листе и удаление «наших» (те, которые коррелируют по расположению с листов BACK). Сейчас я прикрутил это к событиям листа Activate / Deactivate. Если у вас на листе много ячеек, использующих правила валидации данных, но которые не связаны с каскадными выпадающими списками, то, данное решение я, пожалуй, вам НЕ порекомендую использовать. Скачать версию 0.02 Читайте также:
|
Категория: Макросы и программы VBA | Добавил: dsb75 (03.06.2014) |
Просмотров: 35581 | Комментарии: 84 | Теги: Выпадающие списки, Worksheet_Change, Worksheet_SelectionChange, data validation, dropdown list, каскадные списки | Рейтинг: 5.0/1 |
Всего комментариев: 83 | « 1 2 3 » |
Порядок вывода комментариев: Добрый день. Огромное спасибо за наглядный и лёгкий в освоении материал!!! Подскажите пожалуйста, что необходимо поправить, чтобы списки выпадали не с ячейки А2, а например с ячейки J9. Заранее благодарю! Добрый день. Пытаюсь соединить данный пример с умной таблицей на листе Front, но не получается, выдает ошибку «Application-defined or object-defined error». Это проблема из-за умной таблицы, они не совместимы? Добрый день. Очень хочу воспользоваться вашими списками да вот проблема они не работают на защещенной странице а это принципиально. Момогите решить проблему. Зарание спасибо. повторюсь: Цитата для таких вопросов есть форум.лучше обратится за помощью туда.и приложить не ссылку на файлообменник а кусок реального файла GAS для таких вопросов есть форум.лучше обратится за помощью туда.и приложить не ссылку на файлообменник а кусок реального файла Благодарю за качественный и очень нужный материал. 0 Добрый день, Денис! Цитата Excel вам с прискорбием сообщает, что ваш файл повреждён и предлагает его восстановить, что успешно и делает. Возникает это из-за того, что существует ограничение в 255 символов на строку, которую мы прописываем в правило проверки данных для реализации выпадающего списка. Вы не знаете какие ещё ограничения (например длин строк) приводят к поломке файлов после сохранения? Периодически приходится работать с файлами заказчика, и при пере сохранении они крашаться. У меня рабочий Office 2010, и поломанные файлы я обычно лечу открытием в Office 2007 и пере сохранением из него (не знаю почему, но это работает). 0 Здравствуйте! 0 Спасибо. Здравствуйте! 0 Обращались ко мне с подобной неприятностью. Судя по всему, ошибка в программе, то хоть убейте, не понимаю где… и боюсь, что в ближайшее время не помогу. 0 Нашел некое решение и хотел бы им поделиться: сохраните файл в формате .xls. Тогда ошибки при открытии не будет. Но будет сообщение о проверке совместимости в конце. Чтобы работала функция «Проверка данных» нужно диапазону ячеек, который вы хотите превратить в список, присвоить имя через «Диспетчер имен», и указать это имя в «Проверке данных». Ссылка на статью, которой пользовался (не сочтите за рекламу): 0 Идея с XLS интересная. 0 Тем не менее, когда я вносил в «Проверку данных» просто диапазон ячеек, после сохранения и повторного открытия документа выпадающий список пропадал. Когда ввел названия — это прекратилось. 0 ИФ, проблема, которую вы поднимали, решена. Смотрите версию 0.02. 0 Добрый день! 0 Проверьте, что вы корректно настроили лист BACK Настроил как было описано в статье. Единственное, у меня каскад начинается с ячейки D7. Когда сдвигаю все таблицы так, как в Вашем примере — все работает. Когда сдвигаю так, как надо мне — получаю указанную ошибку. Возможно, дело в коде? 0 Ну ясен пень, лист Back вообще левый. Вчитайтесь КАК его надо оформлять и зачем. На какие колонки A и B вы ссылаетесь, зачем? Там у вас нет никаких выпадающих списков. Спасибо, разобрался! Сбило то, что в описанном примере справочник и список на листе Front находятся в тех же ячейках. Еще раз спасибо! 0 Это только у меня коммнты расплагаются не по порядку поступления ,а как им заблагорассудится? Добрый день! Подскажите — использовал представленный вам код для организации каскадных выпадающих списков. В списке содержится 5-ть каскадов. Помогите устранить данную ошибку. 0 Как было дело? Вы взяли мой файл, настроили то, что вам надо и оно работало? А после выхода с сохранением стало говорить, что файл повреждён? взял ваш файл. Изменил таблицу с исходными данными, при этом расширил до 5-ти каскадов. изменил структуру в листе back. После этого начала появляться такая ошибка. 0 Я пересохранил архив к статье. Проделайте ваши настройки с новым файлом и, если будет наблюдаться тоже самое, то пришлите мне файл на посмотреть. попробовал с обновленным файлом — ошибка осталась. Каким образом можно направить вам мой файл для проверки? 0 На е-mail в заголовке сайта 0 Какой версией Excel вы пользуетесь? Полная версия. 0 У меня ваш файл открывается корректно. 0 ошибка появляется при выборе новых данных. например попробуйте в строке 4 выбрать из списков данные. затем сохраните файл, закройте, и вновь откройте — ошибка появится. 0 Да, удалось воспроизвести…. 0 сможете помочь в решении? 0 Быстро не обещаю… После выбора в третьем каскаде появляется эта ошибка… Я знаю, что там есть ограничение в 8Kб на поле, обеспечивающее хранение списка значений для функции проверки данных, но, вроде как, вы его превышать не должны… Пока не знаю в чём проблема. Поищу на досуге. 0 Спасибо большое. Буду ждать. 0 Добрый день. 0 Удалось. Я же выложил 0.02. Добрый день. 0 Для этого у меня есть процедура CheckAllDataValidationCells, привязанная на активацию/деактивацию листа FRONT. Убедитесь, что она вызывается до (во время) сохранения вашей книги для соответствующего листа (у вас может он не FRONT). |
|
1-10 11-20 21-25 | |
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация
|
Вход
]