Потребителско валидиране на данни в Excel: формули и правила

  • Споделя Това
Michael Brown

Съдържание

Урокът показва как да създадете персонализирани правила за валидиране на данни в Excel. Ще намерите няколко примера за E Формули за валидиране на данни в xcel за разрешаване само на цифри или текстови стойности в определени клетки или само на текст, започващ с определени символи, разрешаване на уникални данни, предотвратяване на дублиране и др.

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

    Как да създадете персонализирано валидиране на данни с формула

    Microsoft Excel разполага с няколко вградени правила за валидиране на данни за числа, дати и текст, но те обхващат само най-основните сценарии. Ако искате да валидирате клетките със собствени критерии, създайте потребителско правило за валидиране въз основа на формула:

    1. Изберете една или повече клетки за валидиране.
    2. Отворете диалоговия прозорец Data Validation (Удостоверяване на данни). За целта щракнете върху Утвърждаване на данните на бутона Данни в раздела Инструменти за данни или натиснете последователността от клавиши Alt> D> L (всеки клавиш трябва да се натисне поотделно).
    3. На Настройки в раздела Утвърждаване на данните диалогов прозорец, изберете Потребителски в Позволете и въведете формулата за валидиране на данни в полето Формула кутия.
    4. Кликнете върху OK .

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

    По-долу ще намерите няколко примера за персонализирани правила за валидиране за различни типове данни.

    Забележка. Всички правила за валидиране на данни в Excel, вградени и персонализирани, проверяват само новите данни, които са въведени в клетката след създаването на правилото. Копираните данни не се валидират, както и данните, въведени в клетката преди създаването на правилото. За да определите съществуващите записи, които не отговарят на критериите за валидиране на данни, използвайте Кръг Невалидни данни както е показано в Как да намерим невалидни данни в Excel.

    Валидиране на данните в Excel, за да се допускат само числа

    Изненадващо, нито едно от вградените правила за валидиране на данни в Excel не отговаря на много типична ситуация, когато трябва да ограничите потребителите да въвеждат само числа в определени клетки. Но това може лесно да се направи с персонализирана формула за валидиране на данни, базирана на функцията ISNUMBER, като тази:

    =ISNUMBER(C2)

    Където C2 е най-горната клетка на обхвата, който искате да валидирате.

    Забележка: Функцията ISNUMBER позволява всякакви цифрови стойности в потвърдените клетки, включително цели числа, десетични дроби, както и дати и времена, които също са числа в Excel.

    Валидиране на данни в Excel, за да се позволи само текст

    Ако търсите обратното - да разрешите само текстови записи в даден диапазон от клетки, тогава създайте персонализирано правило с функцията ISTEXT, например:

    =ISTEXT(D2)

    Където D2 е най-горната клетка на избрания диапазон.

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

    Ако всички стойности в определен диапазон трябва да започват с конкретен символ или подниз, тогава направете валидиране на данните в Excel въз основа на функцията COUNTIF със заместващ символ:

    COUNTIF( клетка ," текст *")

    Например, за да гарантирате, че всички идентификатори на поръчки в колона А започват с префикс "AA-", "aa-", "Aa-" или "aA-" (без значение на големи и малки букви), дефинирайте персонализирано правило с тази формула за валидиране на данни:

    =COUNTIF(A2, "aa-*")

    Формула за валидиране с логиката OR (множество критерии)

    В случай че има 2 или повече валидни префикса, добавете няколко функции COUNTIF, така че правилото за валидиране на данни в Excel да работи с логиката OR:

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

    Формула за валидиране с отчитане на малки и големи букви

    Ако размерът на символите е от значение, използвайте EXACT в комбинация с функцията LEFT, за да създадете формула за валидиране с отчитане на размера на символите за записи, започващи с определен текст:

    EXACT(LEFT( клетка , number_of_chars ), текст )

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

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

    В горната формула функцията LEFT извлича първите 3 символа от клетка А2, а 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( обхват , topmost_cell )<=1

    Например, за да сте сигурни, че в клетките от A2 до A6 се въвеждат само уникални идентификатори на поръчки, създайте персонализирано правило с тази формула за валидиране на данни:

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

    Когато е въведена уникална стойност, формулата връща TRUE и валидирането е успешно. Ако същата стойност вече съществува в посочения диапазон (брой, по-голям от 1), COUNTIF връща FALSE и входът не е валидиран.

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

    Забележка. Тази формула за валидиране на данни е без значение на големи и малки букви , тя не прави разлика между главни и малки букви в текста.

    Формули за валидиране на дати и времена

    Вграденото валидиране на дати предоставя доста предварително зададени критерии за ограничаване на потребителите да въвеждат само дати между две посочени от вас дати, по-големи, по-малки или равни на дадена дата.

    Ако искате да имате по-голям контрол върху валидирането на данни в работните си листове, можете да възпроизведете вградената функционалност с помощта на потребителско правило или да напишете своя собствена формула, която надхвърля вградените възможности на валидирането на данни в Excel.

    Разрешаване на дати между две дати

    За да ограничите въвеждането до дата в рамките на определен диапазон, можете да използвате предварително дефинираното правило за дата с критерия "между" или да създадете персонализирано правило за валидиране с тази обща формула:

    И( клетка >= start_date ), клетка <= end_date )

    Къде:

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

    Например, за да разрешите само дати от месец юли 2017 г., използвайте следната формула:

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

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

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

    Обърнете внимание, че граничните дати са заключени с абсолютни препратки към клетките.

    Позволете само в делнични дни или през уикендите

    За да ограничите потребителя да въвежда само делнични или почивни дни, конфигурирайте персонализирано правило за валидиране въз основа на функцията WEEKDAY.

    С return_type аргумент, зададен на 2, WEEKDAY връща цяло число, вариращо от 1 (понеделник) до 7 (неделя). Така че за делнични дни (от понеделник до петък) резултатът от формулата трябва да бъде по-малък от 6, а за почивни дни (събота и неделя) - по-голям от 5.

    Разрешете само работни дни :

    СЕДМИЧЕН ДЕН( клетка ,2)<6

    Разрешете само уикенди :

    СЕДМИЧЕН ДЕН( клетка ,2)>5

    Например, за да разрешите въвеждането само на работни дни в клетки C2:C6, използвайте тази формула:

    =WEEKDAY(C2,2)<6

    Валидиране на дати въз основа на днешната дата

    В много ситуации може да искате да използвате днешната дата като начална дата на разрешения диапазон от дати. За да получите текущата дата, използвайте функцията TODAY и след това добавете желания брой дни към нея, за да изчислите крайната дата.

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

    1. Изберете Дата в Позволете
    2. Изберете между в Данни
    3. В Начална дата въведете =ДНЕС()
    4. В Крайна дата въведете =ДНЕС() + 6

    По подобен начин можете да ограничите потребителите да въвеждат дати преди или след днешната дата. За тази цел изберете или по-малко от или по-голям от в Данни и след това въведете =ДНЕС() в Край на дата или Начало съответно поле за дата.

    Валидиране на времената въз основа на текущото време

    За да валидирате данните въз основа на текущото време, използвайте предварително дефинираното правило Time (Време) със собствена формула за валидиране на данни:

    1. В Позволете изберете Време .
    2. В Данни изберете едно от следните полета по-малко от за да разрешите само времената преди текущия час, или по-голям от за разрешаване на времена след текущия час.
    3. В Краен час или Начален час (в зависимост от това кой критерий сте избрали в предишната стъпка), въведете една от следните формули:
      • За да потвърдите дати и часове въз основа на текущата дата и час:

        =NOW()

      • За да потвърдите пъти на базата на текущото време:

        =ВРЕМЕ( ЧАС(СЕГА()), МИНУТА(СЕГА()), СЕКУНДА(СЕГА()))

    Снимката на екрана по-долу показва правило, което разрешава само времена, по-големи от текущото време:

    Правилото за валидиране на данни в Excel не работи

    Ако правилото ви за валидиране на данни, базирано на формула, не работи според очакванията, трябва да проверите три основни точки:

    • Формулата за валидиране на данните е правилна
    • Формулата за валидиране не се отнася до празна клетка
    • Използват се подходящи препратки към клетките

    Проверка на правилността на формулата за валидиране на данни в 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. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.