Проверка данных является неплохим инструментом Excel для контроля за вносимыми на листах изменениями, не прибегая к помощи VBA. С её помощью можно ограничить ввод в ячейку, разрешив вводить только определенные даты либо числа. При этом можно запретить вводить текст в тех ячейках, в которых должны быть исключительно числа, а так же задать диапазон чисел(например, только от 1 до 1000).
Иными словами, проверка данных предназначена для контроля вводимых в ячейки данных. При правильном использовании очень мощная и удобная вещь в различных шаблонах, которые должны заполняться разными людьми.
Чтобы использовать проверку вводимых данных необходимо выделить ячейку или несколько ячеек, ввод данных в которые надо отслеживать и ограничить. Далее переходим на вкладку Данные
- вкладка Параметры
- вкладка Сообщение для ввода
- вкладка Сообщение об ошибке
- Как скопировать проверку данных на другие ячейки
- Как удалить проверку данных из ячеек
- Маленькая хитрость использования проверки данных
- Как обойти проверку данных или маленькая ложка дегтя
вкладка
Это основная вкладка, в которой задаются основные параметры проверки данных.
В поле Тип данных
Целое число - говорит само за себя. После установки такой проверки в ячейку можно будет внести только целое число. Т.е. число, не имеющее дробного остатка((Whole number) 9,1 например уже нельзя будет ввести). Так же нельзя будет ввести произвольный текст. Чаще всего подобная проверка применяется в полях для записи кол-ва штук товара и т.п. Т.е. там, где не может быть дробных значений.Действительное - тоже, что и в предыдущем пункте, но ввести можно любое число - хоть целое, хоть дробное, но невозможно будет ввести текст(Decimal) Дата - В ячейке может содержаться только значение даты. Дата может быть записана в любом формате, допустимом в текущей локализации Windows. Здесь тот же нюанс, что и проверкой на числа, только в обратную сторону - любая дата это число, поэтому по сути можно будет ввести любое целое число, которое может быть переведено Excel-м в дату.(Date) Время - можно записывать значения в формате времени для текущей локализации и так же как с датой в ячейку можно будет вводить не только время, но и любые числа: целые или дробные(Time) Длина текста - позволяет ограничить количество вводимых в ячейку символов. Данные могут являться и числом и текстом и временем. Чем угодно, только должны соответствовать остальным условиям проверки. Часто применяется для контроля ввода данных по ИНН, КПП, БИК, артикулам и т.п.(Text lenght) Другой - на мой взгляд самый интересный и самый мощный тип проверки. Здесь нам предоставляется возможность более широко контролировать ввод данных. Для заполнения есть только одно поле - Формула(Custom) (Formula) . В него необходимо записать формулу и при каждом вводе значений в ячейку, Excel проверит введенное выражение на ИСТИНУ. Если быть точнее то Excel сначала вычислит формулу в этом поле ориентируясь на введенное в ячейку с проверкой данных значение, а потом проверит - возвращает ли формула значение ИСТИНА(TRUE). Если результатом будет ИСТИНА(TRUE) , то введенное значение будет сохранено в ячейке, а если ЛОЖЬ(FALSE) , то будет выдано окно с сообщением об ошибке:
Приведу простой пример. В ячейку
введем число 1. Выделяем ячейкуА1 - назначаем проверку данных-Другой. В поле Формула вписываем:В1 = . Теперь в ячейкуB1 =A1 можно вписать только значение, которое полностью идентично значению в ячейкеВ1 .А1
Обращаю особое внимание на то, что в большинстве случаев в вводимой формуле должно происходить некое сравнение с той ячейкой, в которой создается проверка данных. Например, если мы хотим, чтобы в можно было ввести только значение текущей даты, то мы должны записать формулу так:В1
= B1 =СЕГОДНЯ()
=B1=TODAY()
Т.е. мы сравниваем введенное в значение с выражением, записанным правее от знака равенства. А правее у нас функцияВ1 СЕГОДНЯ , которая возвращает текущую дату.(TODAY) Важно: если проверка данных в дальнейшем будет скопирована в другие ячейки, то ссылки будут смещены так, будто это простая формула. Поэтому при создании формул в проверке данных необходимо учитывать возможность смещения и при необходимости закреплять ссылки(знак доллара - $).Выводить сообщение об ошибке - в большинстве случаев необходимо установить галочку. Если галочка снята, то проверка вводимых в ячейку данных не будет осуществляться.(Show error alert after invalid data is entered) - Вид
(Style) Останов, Сообщение - можно ввести только разрешенные проверкой значения. Различается только вид сообщения(пример сообщения Останов приведен на рисунке выше).(Stop, Information) Предупреждение - в ячейку можно ввести любое значение, но при вводе значения, противоречащего проверке, появиться предупреждающее сообщение с подтверждением ввода данных.(Warning)
Заголовок - текст, который будет показан в заголовке сообщения об ошибке. Если не указан, то в заголовке будет написано Microsoft Excel.(Title) Сообщение - непосредственно текст самого сообщения об ошибке. Если не указан, то будет показан текст примерно следующего содержания:(Error message)
Это значение не соответствует ограничениям по проверке данных, установленным для этой ячейки
(This value doesn't match the data validation restrictions defined for this cell)
Примечание: применив данные типы проверок, внести в ячейку можно только число. Занести текст Excel уже не разрешит. Однако стоит помнить, что дата и время Excel воспринимает и хранит именно как ЧИСЛОВЫЕ значения, поэтому ввод даты и времени тоже будет разрешен, если он не противоречит остальным условиям проверки(см.ниже). Но для проверки Целое число разрешен будет ввод только даты, т.к. время Excel хранит как дробное значение(кроме 24:00:00 и 00:00:00, которые Excel воспринимает как 1 и 0 соответственно). Более подробно о восприятии Excel-ем данных читайте в статье Как Excel воспринимает данные?.
Если посмотреть на картинку в начале статьи, то можно увидеть еще три поля, помимо тех, которые я перечислил: Значение
По сути все пункты довольно красноречивы и пояснять подробно каждый, думаю, смысла нет. Например,
Чуть большее внимание следует уделить варианту проверки
При этом в полях для ввода значений допускается указать ссылку на ячейку. Например, в ячейке
Вкладка
Здесь указывается текст, который будет отображаться при выделении ячейки с проверкой данных:
Самое удобное в данном сообщение то, что можно не устанавливать саму проверку данных, а заполнить только эту вкладку. Тогда сообщение будет появляться при выделении ячейки, но никаких ограничений для ввода в ячейку не будет. Т.е. использовать эту возможность просто для дополнительного информирования о предпочтительном формате данных или просто указывать тип вводимой в ячейку информации.
Вкладка
Здесь указывается отображать сообщение об ошибочном вводе или нет, и сам тип выводимого сообщения об ошибке.
Все очень просто - копируем ячейку с нужной проверкой данных -выделяем ячейки для создания в них такого же условия -Правая кнопка мыши -Специальная вставка
Выделяем необходимые ячейки -вкладка Данные
Если проверка данных на ячейки была установлена уже после того, как данные были внесены, то очень неплохо понять, все ли данные соответствуют условиям проверки. Сделать это несложно. После того, как ячейкам была назначена проверка данных переходим на вкладку Данные
Это можно использовать не только когда необходима проверка данных, но и просто для определения ошибочных значений. Например, есть список товара на складе и есть лист, в который этот товар вносился сотрудниками вручную. Необходимо определить какие наименования товара не соответствуют тем, которые заведены на складе. Создаем проверку данных Список(Выпадающие списки), указывая в качестве источника список товара на складе. Далее распространяем эту проверку на ячейки с занесенными сотрудниками данными. И теперь применяем функцию Обвести неверные данные.
Сразу после исправления неверных значений на те, которые есть в списке обводка исчезает. Если не все значения надо исправлять, а обводку тем не менее надо удалить, то после всех нужных правок просто переходим на вкладку Данные
Необходимо всегда помнить, что какое бы условие на проверку не было установлено - значение в ячейке можно удалить, нажав кнопку Del. Либо просто скопировать ячейку из другой книги или листа и вставить на место проверки данных - проверка исчезнет, т.к. вся ячейка будет заменена скопированной. И от этого никак не уйти - такой проверку сделали разработчики. И даже защита листа здесь не поможет, т.к. для работы проверки данных ячейка не должна быть защищена.
здравствуйте! я так и не понял, какие выбрать условия, чтобы ограничить длину текста шестью знаками? на пример - 02А02 и 25К31 можно написать, а 2А2 и 2А02 нельзя?
Роман, а Вы хоть попробовали? Вы пишете 6 знаков, а для примера приводите значения из 5 :-)
Выбираете Тип данных: Длина текста.
Поле Значение: Равно.
в поле Длина вводите цифру 6.
Все.
спасибо!
точно, про шесть знаков я описАлся, конечно пять!
я уже сам допетрил (экспериментальным путем), но Вы ответили быстрее! :)
мне больше подходит вариант такой - значение БОЛЬШЕ ИЛИ РАВНО МИНИМУМ 5.
т.е. меньше пяти знаков чтоб не могли записать в ячейку.
и еще - огромное Вам спасибо за гениально простой способ убивать * в ячейках, который Вы описали в другом посте!
Подскажите пожалуйста возможно ли в Excel проверять данные таким образом как я хочу.
Пример: Я хочу для всего листа задать такое условие, что если в одну ячейку была вписана например 1Б34 то в другую ячейку я не могу задать 1Б34 и выходила бы соответственно ошибка! То есть мне нужно создать проверку по водимых символов(не по длине текста), чтобы они не повторялись !!!
Буду очень благодарен если Вы мне подскажите, жду ответа на E-mail [удалено администратором]
С уважением Михаил.
Чтобы статья стала еще более информативной, можно дополнить статью информацией о том, что несмотря на установку на ограничение ввода в ячейку через "Данные"-Проверка данных, в нее некоторые нерадивые пользователи (изобретательные, скажем так) все же умудряются внести неправильные данные ...
причем особо не напрягаясь... они просто копируют, а потом вставляют данные в ту ячейку, где до этого существовало условие на проверку данных :-)
Да, к несчастью есть такой момент. Спасибо, добавил в статью.
как сделать проверку введенных чисел в таблицу для всей таблицы, а не для каждого числа?
Анастасия, что значит "для каждого числа"? В статье написано: "Для начала надо выделить ячейку(или диапазон ячеек)".
Т.е. если Вы планируете использовать одно правило проверки данных для всех ячеек - выделяете сначала все нужные ячейки, а затем вызываете окно проверки данных. Проверка данных будет назначена всем выделенным ячейкам.
Если имелось ввиду нечто другое - поясните подробнее.
Спасибо.
В строке таблицы введены данные 1 5 3 7, под каждым числом необходимо поставить условие что "можно вводить только это число". Значений в таблице много и листов с аналогичным условием тоже. Вручную "для каждого числа" вводить условие очень долго. Думала с помощью макросов сделать проверку вводимых значений?
Макросом можно. Может и стандартной проверкой можно с использованием формул. Но не видя в файле что и как там у Вас записано - сказать ничего конкретного нельзя.
Обратитесь в форум.
Добрый день!
Подскажите, а как организовать проверку значения в ячейке. Если в ячейке значение "ВЕРНО", то сообщение об ошибки не всплывает, а если "НЕВЕРНО", то не всплывает!
Заранее спасибо
При выборе типа данных «Другой» есть возможность сделать так, чтобы в случае не выполнения условия ячейка стала пустой?
Артур, чтобы прям пустой без макросов с помощью только проверки данных нельзя сделать.