Пользовательская проверка данных в Excel: формулы и правила

  • Поделись Этим
Michael Brown

Оглавление

В учебнике показано, как создавать пользовательские правила проверки данных в Excel. Вы найдете несколько примеров E Формулы проверки данных в xcel позволяют разрешить только числовые или текстовые значения в определенных ячейках, или только текст, начинающийся с определенных символов, разрешить уникальные данные, предотвращая дубликаты, и многое другое.

Во вчерашнем уроке мы начали рассматривать проверку данных в Excel - ее назначение, принцип работы и использование встроенных правил для проверки данных в рабочих листах. Сегодня мы сделаем еще один шаг вперед и поговорим о тонкостях пользовательской проверки данных в Excel, а также поэкспериментируем с несколькими различными формулами проверки.

    Как создать пользовательскую проверку данных с помощью формулы

    В Microsoft Excel есть несколько встроенных правил проверки данных для чисел, дат и текста, но они охватывают только самые основные сценарии. Если вы хотите проверять ячейки с помощью собственных критериев, создайте пользовательское правило проверки на основе формулы. Вот как это сделать:

    1. Выберите одну или несколько ячеек для проверки.
    2. Откройте диалоговое окно Проверка данных. Для этого нажмите кнопку Валидация данных кнопка на Данные во вкладке Инструменты данных группу или нажмите последовательность клавиш Alt> D> L (каждая клавиша должна быть нажата отдельно).
    3. На Настройки вкладка Валидация данных в диалоговом окне выберите Пользовательский в Разрешить и введите формулу проверки данных в поле Формула коробка.
    4. Нажмите OK .

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

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

    Примечание. Все правила проверки данных Excel, встроенные и пользовательские, проверяют только новые данные, которые вводятся в ячейку после создания правила. Скопированные данные не проверяются, равно как и данные, введенные в ячейку до создания правила. Чтобы отследить существующие записи, которые не соответствуют критериям проверки данных, используйте функцию Обведите недопустимые данные как показано в статье Как найти недостоверные данные в Excel.

    Проверка данных в Excel, чтобы разрешить только числа

    Удивительно, но ни одно из встроенных правил проверки данных Excel не подходит для очень типичной ситуации, когда вам нужно ограничить ввод пользователями только чисел в определенные ячейки. Но это можно легко сделать с помощью пользовательской формулы проверки данных, основанной на функции ISNUMBER, как, например, эта:

    =ISNUMBER(C2)

    Где C2 - самая верхняя ячейка диапазона, который вы хотите проверить.

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

    Валидация данных Excel для разрешения только текста

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

    =ISTEXT(D2)

    Где D2 - самая верхняя ячейка выбранного диапазона.

    Разрешить текст, начинающийся с определенного символа (символов)

    Если все значения в определенном диапазоне должны начинаться с определенного символа или подстроки, выполните проверку данных в Excel на основе функции COUNTIF с использованием символа подстановки:

    КОУНТИФ( ячейка ," текст *")

    Например, чтобы убедиться, что все идентификаторы заказов в столбце A начинаются с префикса "AA-", "aa-", "Aa-" или "aA-" (без учета регистра), определите пользовательское правило с такой формулой проверки данных:

    =COUNTIF(A2, "aa-*")

    Формула валидации с логикой ИЛИ (несколько критериев)

    Если имеется 2 или более допустимых префиксов, добавьте несколько функций COUNTIF, чтобы ваше правило проверки данных в Excel работало по логике ИЛИ:

    =COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")

    Формула проверки с учетом регистра

    Если регистр символов имеет значение, то используйте EXACT в сочетании с функцией LEFT для создания формулы проверки с учетом регистра для записей, начинающихся с определенного текста:

    ТОЧКА(СЛЕВА( ячейка , количество_заголовков ), текст )

    Например, чтобы разрешить только те идентификаторы заказов, которые начинаются с "AA-" (ни "aa-", ни "Aa-" не разрешены), используйте эту формулу:

    =EXACT(LEFT(A2,3), "AA-")

    В приведенной выше формуле функция LEFT извлекает первые 3 символа из ячейки A2, а EXACT выполняет сравнение с учетом регистра с жестко заданной подстрокой ("AA-" в данном примере). Если две подстроки точно совпадают, формула возвращает TRUE и проверка проходит; в противном случае возвращается FALSE и проверка не проходит.

    Разрешить записи, содержащие определенный текст

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

    • Проверка без учета регистра: ISNUMBER(SEARCH( текст , ячейка ))
    • Проверка с учетом регистра: ISNUMBER(FIND( текст , ячейка ))

    В нашем примере набора данных, чтобы разрешить только записи, содержащие текст "AA" в ячейках A2:A6, используйте одну из этих формул:

    Нечувствительность к регистру:

    =ISNUMBER(SEARCH("AA", A2))

    Чувствительность к регистру:

    =ISNUMBER(FIND("AA", A2))

    Формулы работают по следующей логике:

    Вы ищете подстроку "AA" в ячейке A2 с помощью FIND или SEARCH, и оба возвращают позицию первого символа в подстроке. Если текст не найден, возвращается ошибка. Для любого числового значения, возвращенного в результате поиска, функция ISNUMBER выдает TRUE, и проверка данных проходит успешно. В случае ошибки ISNUMBER возвращает FALSE, и запись не будет разрешена в ячейке.

    Валидация данных для разрешения только уникальных записей и запрета дубликатов

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

    =COUNTIF( ассортимент , самая верхняя_ячейка )<=1

    Например, чтобы убедиться, что в ячейки с A2 по A6 вводятся только уникальные идентификаторы заказов, создайте пользовательское правило с такой формулой проверки данных:

    =COUNTIF($A$2:$A$6, A2)<=1

    Если введено уникальное значение, формула возвращает TRUE и проверка проходит успешно. Если такое же значение уже существует в указанном диапазоне (счетчик больше 1), COUNTIF возвращает FALSE и проверка не проходит.

    Обратите внимание, что мы фиксируем диапазон с помощью абсолютных ссылок на ячейки (A$2:$A$6) и используем относительную ссылку для верхней ячейки (A2), чтобы формула правильно подстраивалась под каждую ячейку в проверяемом диапазоне.

    Примечание. Эта формула проверки данных является без учета регистра Он не различает прописные и строчные буквы текста.

    Формулы валидации для дат и времени

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

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

    Разрешить даты между двумя датами

    Чтобы ограничить ввод датой в указанном диапазоне, вы можете использовать либо предопределенное правило Date с критерием "between", либо создать пользовательское правило валидации с помощью этой общей формулы:

    И( ячейка >= дата начала ), ячейка <= дата окончания )

    Где:

    • ячейка самая верхняя ячейка в проверяемом диапазоне, и
    • запустить и конец даты - это действительные даты, заданные с помощью функции DATE, или ссылки на ячейки, содержащие даты.

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

    =AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))

    Или введите дату начала и дату окончания в некоторые ячейки (F1 и F2 в данном примере) и ссылайтесь на эти ячейки в своей формуле:

    =AND(C2>=$F$1, C2<=$F$2)

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

    Разрешить только в будние или выходные дни

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

    С тип_возврата аргумент установлен в 2, WEEKDAY возвращает целое число от 1 (понедельник) до 7 (воскресенье). Таким образом, для будних дней (с пн по пт) результат формулы должен быть меньше 6, а для выходных (сб и вс) больше 5.

    Разрешить только рабочие дни :

    ДЕНЬ НЕДЕЛИ( ячейка ,2)<6

    Разрешить только выходные дни :

    ДЕНЬ НЕДЕЛИ( ячейка ,2)>5

    Например, чтобы разрешить ввод только рабочих дней в ячейки C2:C6, используйте эту формулу:

    =WEEKDAY(C2,2)<6

    Валидация дат на основе сегодняшней даты

    Во многих ситуациях вы можете захотеть использовать сегодняшнюю дату в качестве начальной даты допустимого диапазона дат. Чтобы получить текущую дату, используйте функцию TODAY, а затем добавьте к ней нужное количество дней для вычисления конечной даты.

    Например, чтобы ограничить ввод данных до 6 дней с настоящего момента (7 дней, включая сегодняшний), мы будем использовать встроенное правило Дата с критериями на основе формулы:

    1. Выберите Дата в Разрешить
    2. Выберите между в Данные
    3. В Дата начала введите =TODAY()
    4. В Дата окончания введите =TODAY() + 6

    Аналогичным образом можно ограничить ввод пользователями дат до или после сегодняшней даты. Для этого выберите либо менее или больше, чем в Данные поле, а затем введите =TODAY() в Конец дата или Начало поле даты, соответственно.

    Проверяйте время на основе текущего времени

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

    1. В Разрешить выберите Время .
    2. В Данные ящик, выберите либо менее чтобы разрешить только время до текущего времени, или больше, чем чтобы разрешить время после текущего времени.
    3. В Время окончания или Время начала (в зависимости от того, какие критерии вы выбрали на предыдущем шаге), введите одну из следующих формул:
      • Для подтверждения даты и время на основе текущей даты и времени:

        =NOW()

      • Для подтверждения раз на основе текущего времени:

        =TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))

    На скриншоте ниже показано правило, которое разрешает только время, превышающее текущее:

    Пользовательское правило проверки данных Excel не работает

    Если ваше правило проверки данных на основе формул работает не так, как ожидалось, необходимо проверить 3 основных момента:

    • Формула проверки данных верна
    • Формула проверки не ссылается на пустую ячейку
    • Используются соответствующие ссылки на ячейки

    Проверьте правильность формулы проверки данных в Excel

    Для начала скопируйте свою формулу проверки в какую-нибудь ячейку, чтобы убедиться, что она не возвращает ошибку, такую как #N/A, #VALUE или #DIV/0!

    Если вы создаете пользовательское правило формула должна возвращать логические значения TRUE и FALSE или приравниваемые к ним значения 1 и 0 соответственно.

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

    Формула проверки данных Excel не должна ссылаться на пустую ячейку

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

    Вот пример в самой простой форме:

    Абсолютные и относительные ссылки на ячейки в формулах проверки данных

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

    Если вы создаете правило для более чем одной ячейки и ваши критерии проверки зависят от специфические клетки Обязательно используйте абсолютные ссылки на ячейки (со знаком $, например, $A$1), иначе ваше правило будет корректно работать только для первой ячейки. Чтобы лучше проиллюстрировать этот момент, рассмотрим следующий пример.

    Предположим, вы хотите ограничить ввод данных в ячейки с D2 по D5 целыми числами между 1 (минимальное значение) и результатом деления A2 на B2. Итак, вы рассчитываете максимальное значение с помощью этой простой формулы =A2/B2 как показано на скриншоте ниже:

    Проблема в том, что эта, казалось бы, правильная формула не будет работать для ячеек с D3 по D5, потому что относительные ссылки меняются в зависимости от относительного положения строк и столбцов. Таким образом, для ячейки D3 формула изменится на =A3/B3 , а для D4 это будет =A4/B4 , делая валидацию данных неправильно!

    Чтобы исправить формулу, просто введите "$" перед ссылками на столбцы и строки, чтобы зафиксировать их: =$A$2/$B$2 Или нажмите F4 для переключения между различными типами ссылок.

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

    Как видите, не существует "абсолютной истины", одна и та же формула может быть правильной или неправильной в зависимости от ситуации и вашей конкретной задачи.

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

    Рабочая тетрадь для тренировок для скачивания

    Примеры валидации данных в Excel (файл.xlsx)

    Майкл Браун — увлеченный технологический энтузиаст, стремящийся упростить сложные процессы с помощью программных инструментов. Имея более чем десятилетний опыт работы в технологической отрасли, он отточил свои навыки в Microsoft Excel и Outlook, а также в Google Sheets и Docs. Блог Майкла посвящен тому, чтобы делиться своими знаниями и опытом с другими, предоставляя простые советы и учебные пособия для повышения производительности и эффективности. Являетесь ли вы опытным профессионалом или новичком, в блоге Майкла вы найдете ценную информацию и практические советы, которые помогут вам максимально эффективно использовать эти важные программные инструменты.