Vlastní ověřování dat v aplikaci Excel : vzorce a pravidla

  • Sdílet Toto
Michael Brown

Výukový program ukazuje, jak vytvořit vlastní pravidla pro ověřování dat v aplikaci Excel. Najdete zde několik příkladů E Vzorce pro ověřování dat v aplikaci xcel, které povolují pouze čísla nebo textové hodnoty v určitých buňkách nebo pouze text začínající určitými znaky, povolují jedinečná data, která zabraňují duplicitám, a další.

Ve včerejším tutoriálu jsme se začali zabývat validací dat v aplikaci Excel - jaký je její účel, jak funguje a jak používat vestavěná pravidla pro validaci dat v pracovních listech. Dnes se posuneme o krok dále a probereme si nejpodrobnější aspekty vlastní validace dat v aplikaci Excel a také si vyzkoušíme několik různých validačních vzorců.

    Jak vytvořit vlastní ověření dat pomocí vzorce

    Aplikace Microsoft Excel má několik vestavěných pravidel pro ověřování platnosti dat pro čísla, data a text, která však pokrývají pouze nejzákladnější scénáře. Pokud chcete buňky ověřovat pomocí vlastních kritérií, vytvořte si vlastní pravidlo ověřování založené na vzorci:

    1. Vyberte jednu nebo více buněk, které chcete ověřit.
    2. Otevřete dialogové okno Ověření dat. Za tímto účelem klikněte na tlačítko Ověřování dat tlačítko na Data na kartě Datové nástroje nebo stiskněte sekvenci kláves Alt> D> L (každou klávesu je třeba stisknout zvlášť).
    3. Na Nastavení na kartě Ověřování dat dialogové okno, vyberte možnost Vlastní v Povolit a zadejte vzorec pro ověření dat do pole Vzorec box.
    4. Klikněte na OK .

    Volitelně můžete přidat vlastní vstupní zprávu a upozornění na chybu, které se zobrazí, když uživatel vybere ověřenou buňku nebo zadá neplatná data.

    Níže naleznete několik příkladů vlastních validačních pravidel pro různé typy dat.

    Poznámka: Všechna pravidla pro ověřování dat v aplikaci Excel, vestavěná i vlastní, ověřují pouze nová data zadaná do buňky po vytvoření pravidla. Kopírovaná data se neověřují, stejně jako data zadaná do buňky před vytvořením pravidla. Chcete-li určit existující položky, které nesplňují kritéria pro ověřování dat, použijte příkaz Zakroužkujte neplatná data Jak najít neplatná data v aplikaci Excel.

    Ověřování dat v aplikaci Excel, které povoluje pouze čísla

    Překvapivě žádné z vestavěných pravidel pro ověřování dat v aplikaci Excel neřeší velmi typickou situaci, kdy je třeba omezit uživatele na zadávání pouze čísel do určitých buněk. Toho však lze snadno dosáhnout pomocí vlastního vzorce pro ověřování dat založeného na funkci ISNUMBER, jako je tento:

    =ISNUMBER(C2)

    Kde C2 je nejvyšší buňka rozsahu, který chcete ověřit.

    Poznámka: Funkce ISNUMBER umožňuje ve validovaných buňkách zadávat libovolné číselné hodnoty, včetně celých čísel, desetinných čísel, zlomků a také datumů a časů, které jsou z hlediska aplikace Excel také čísly.

    Ověřování dat v aplikaci Excel, které umožňuje pouze text

    Pokud hledáte opak - chcete povolit pouze textové položky v daném rozsahu buněk, vytvořte vlastní pravidlo například pomocí funkce ISTEXT:

    =ISTEXT(D2)

    Kde D2 je nejvyšší buňka vybraného rozsahu.

    Povolit text začínající určitým znakem (znaky)

    Pokud by všechny hodnoty v určitém rozsahu měly začínat určitým znakem nebo podřetězcem, proveďte ověření dat v aplikaci Excel na základě funkce COUNTIF se zástupným znakem:

    COUNTIF( buňka ," text *")

    Chcete-li například zajistit, aby všechna ID objednávek ve sloupci A začínala předponou "AA-", "aa-", "Aa-" nebo "aA-" (nerozlišuje velká a malá písmena), definujte vlastní pravidlo s tímto vzorcem pro ověřování dat:

    =COUNTIF(A2, "aa-*")

    Ověřovací vzorec s logikou OR (více kritérií)

    V případě, že existují 2 nebo více platných předpon, přidejte několik funkcí COUNTIF, aby vaše pravidlo pro ověřování dat v aplikaci Excel fungovalo s logikou OR:

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

    Ověřovací vzorec rozlišující malá a velká písmena

    Pokud záleží na velikosti písmen, použijte funkci EXACT v kombinaci s funkcí LEFT a vytvořte validační vzorec pro položky začínající určitým textem s rozlišením velikosti písmen:

    EXACT(LEFT( buňka , number_of_chars ), text )

    Chcete-li například povolit pouze ty identifikátory objednávek, které začínají na "AA-" (není povoleno ani "aa-", ani "Aa-"), použijte tento vzorec:

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

    Ve výše uvedeném vzorci funkce LEFT extrahuje první 3 znaky z buňky A2 a funkce EXACT provede porovnání s pevně zadaným podřetězcem s ohledem na velikost písmen ("AA-" v tomto příkladu). Pokud se oba podřetězce přesně shodují, vzorec vrátí hodnotu TRUE a ověření proběhne úspěšně; v opačném případě se vrátí hodnota FALSE a ověření neproběhne.

    Povolit položky obsahující určitý text

    Chcete-li povolit záznamy, které obsahují určitý text kdekoli v buňce (na začátku, uprostřed nebo na konci), použijte funkci ISNUMBER v kombinaci s funkcí FIND nebo SEARCH podle toho, zda chcete porovnávat malá a velká písmena, nebo bez nich:

    • Ověřování bez ohledu na velikost písmen: ISNUMBER(SEARCH( text , buňka ))
    • Ověřování podle velikosti písmen: ISNUMBER(FIND( text , buňka ))

    Chcete-li v naší ukázkové datové sadě povolit v buňkách A2:A6 pouze záznamy obsahující text "AA", použijte jeden z těchto vzorců:

    Nerozlišuje velká a malá písmena:

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

    Rozlišování velkých a malých písmen:

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

    Vzorce pracují s následující logikou:

    Podřetězec "AA" v buňce A2 vyhledáte pomocí funkce FIND nebo SEARCH, přičemž obě vrátí pozici prvního znaku v podřetězci. Pokud text není nalezen, je vrácena chyba. Pro jakoukoli číselnou hodnotu vrácenou jako výsledek vyhledávání vrátí funkce ISNUMBER hodnotu TRUE a ověření dat proběhne úspěšně. V případě chyby vrátí funkce ISNUMBER hodnotu FALSE a položka nebude v buňce povolena.

    Ověřování dat, které povoluje pouze jedinečné položky a zakazuje duplicity.

    V situacích, kdy by určitý sloupec nebo rozsah buněk neměl obsahovat žádné duplikáty, nakonfigurujte vlastní pravidlo pro ověřování dat, které povolí pouze jedinečné položky. K tomu použijeme klasický vzorec COUNTIF pro identifikaci duplikátů:

    =COUNTIF( rozsah , topmost_cell )<=1

    Chcete-li například zajistit, aby se do buněk A2 až A6 zadávala pouze jedinečná ID objednávek, vytvořte vlastní pravidlo s tímto vzorcem pro ověřování dat:

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

    Pokud je zadána jedinečná hodnota, vzorec vrátí hodnotu TRUE a validace proběhne úspěšně. Pokud stejná hodnota již v zadaném rozsahu existuje (počet větší než 1), COUNTIF vrátí hodnotu FALSE a zadání neprojde validací.

    Věnujte prosím pozornost tomu, že rozsah uzamkneme pomocí absolutních odkazů na buňky (A$2:$A$6) a pro horní buňku (A2) použijeme relativní odkaz, aby se vzorec správně přizpůsobil každé buňce v ověřovaném rozsahu.

    Poznámka: Tento vzorec pro ověřování dat je rozlišování velkých a malých písmen , nerozlišuje velká a malá písmena.

    Validační vzorce pro data a časy

    Vestavěná validace data poskytuje poměrně velké množství předdefinovaných kritérií, která omezují uživatele na zadávání pouze dat mezi dvěma zadanými daty, větších, menších nebo rovných danému datu.

    Pokud chcete mít větší kontrolu nad ověřováním dat v pracovních listech, můžete replikovat vestavěnou funkci pomocí vlastního pravidla nebo si napsat vlastní vzorec, který přesahuje vestavěné možnosti ověřování dat aplikace Excel.

    Povolit data mezi dvěma daty

    Chcete-li omezit zadání na datum v zadaném rozsahu, můžete použít buď předdefinované pravidlo Datum s kritériem "mezi", nebo vytvořit vlastní validační pravidlo s tímto obecným vzorcem:

    AND( buňka >= start_date ), buňka <= end_date )

    Kde:

    • buňka je nejvyšší buňka ověřovaného rozsahu a
    • začít a konec data jsou platná data zadaná pomocí funkce DATE nebo odkazy na buňky obsahující data.

    Chcete-li například povolit pouze data v měsíci červenci roku 2017, použijte následující vzorec:

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

    Nebo zadejte počáteční a koncové datum do některých buněk (v tomto příkladu F1 a F2) a ve vzorci se na tyto buňky odkažte:

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

    Všimněte si, že hraniční data jsou uzamčena pomocí absolutních odkazů na buňky.

    Povolit pouze všední dny nebo víkendy

    Chcete-li omezit uživatele na zadávání pouze pracovních dnů nebo víkendů, nakonfigurujte vlastní ověřovací pravidlo založené na funkci WEEKDAY.

    S return_type Argument WEEKDAY je nastaven na hodnotu 2 a vrací celé číslo v rozsahu od 1 (pondělí) do 7 (neděle). Pro všední dny (po až pá) by tedy výsledek vzorce měl být menší než 6 a pro víkendy (so a ne) větší než 5.

    Povolit pouze pracovní dny :

    TÝDEN( buňka ,2)<6

    Povolit pouze víkendy :

    TÝDEN( buňka ,2)>5

    Chcete-li například povolit zadávání pouze pracovních dnů v buňkách C2:C6, použijte tento vzorec:

    =WEEKDAY(C2,2)<6

    Ověřování dat na základě dnešního data

    V mnoha situacích můžete chtít použít dnešní datum jako počáteční datum povoleného rozsahu dat. Chcete-li získat aktuální datum, použijte funkci TODAY a poté k němu přičtěte požadovaný počet dní pro výpočet koncového data.

    Chceme-li například omezit zadávání dat na 6 dní od teď (7 dní včetně dneška), použijeme vestavěné pravidlo Datum s kritérii založenými na vzorci:

    1. Vyberte Datum v Povolit
    2. Vyberte mezi v Data
    3. V Datum zahájení zadejte do pole =TODAY()
    4. V Datum ukončení zadejte do pole =DEN() + 6

    Podobným způsobem můžete uživatelům omezit zadávání dat před dnešním datem nebo po něm. Za tímto účelem zvolte buď méně než nebo větší než v Data a pak zadejte =TODAY() v Konec datum nebo Start datumové pole, resp.

    Ověření časů na základě aktuálního času

    Chcete-li ověřit data na základě aktuálního času, použijte předdefinované pravidlo Čas s vlastním vzorcem pro ověření dat:

    1. V Povolit vyberte možnost Čas .
    2. V Data vyberte buď méně než povolit pouze časy před aktuálním časem, nebo větší než povolit časy po aktuálním čase.
    3. V Čas ukončení nebo Čas zahájení (v závislosti na kritériích vybraných v předchozím kroku) zadejte jeden z následujících vzorců:
      • Ověření platnosti data a časy na základě aktuálního data a času:

        =NOW()

      • Ověření platnosti krát na základě aktuálního času:

        =TIME( HODINA(NOW()), MINUTA(NOW()), SEKUNDA(NOW()))

    Na obrázku níže je zobrazeno pravidlo, které povoluje pouze časy vyšší než aktuální čas:

    Nefunkční vlastní pravidlo ověřování dat aplikace Excel

    Pokud vaše pravidlo pro ověřování dat založené na vzorci nefunguje podle očekávání, je třeba zkontrolovat tři hlavní body:

    • Vzorec pro ověřování dat je správný
    • Ověřovací vzorec neodkazuje na prázdnou buňku
    • Jsou použity vhodné odkazy na buňky

    Kontrola správnosti vzorce pro ověřování dat v aplikaci Excel

    Pro začátek zkopírujte svůj validační vzorec do některé buňky a ujistěte se, že nevrací chybu, jako je #N/A, #VALUE nebo #DIV/0!.

    Pokud vytváříte vlastní pravidlo , vzorec by měl vrátit logické hodnoty TRUE a FALSE nebo jim odpovídající hodnoty 1 a 0.

    Pokud použijete kritérium založené na vzorci v vestavěné pravidlo (jako jsme to udělali při ověřování časů na základě aktuálního času), může vrátit i jinou číselnou hodnotu.

    Vzorec pro ověření dat aplikace Excel by neměl odkazovat na prázdnou buňku

    Pokud v mnoha situacích vyberete Ignorovat prázdné místo a jedna nebo více buněk, na které se vzorec odkazuje, je prázdná, bude v ověřené buňce povolena jakákoli hodnota.

    Zde je příklad v nejjednodušší podobě:

    Absolutní a relativní odkazy na buňky ve vzorcích pro ověřování dat

    Při nastavování validačního pravidla aplikace Excel založeného na vzorci mějte na paměti, že všechny odkazy na buňky ve vzorci jsou vzhledem k levé horní buňce ve vybraném rozsahu.

    Pokud vytváříte pravidlo pro více než jednu buňku a vaše validační kritéria jsou závislá na. specifické buňky , nezapomeňte používat absolutní odkazy na buňky (se znakem $, jako například $A$1), jinak bude vaše pravidlo správně fungovat pouze pro první buňku. Pro lepší ilustraci si prosím vezměte následující příklad.

    Předpokládejme, že chcete omezit zadávání dat v buňkách D2 až D5 na celá čísla v rozmezí od 1 (minimální hodnota) do výsledku dělení A2 číslem B2. Maximální hodnotu tedy vypočtete pomocí tohoto jednoduchého vzorce =A2/B2 , jak je znázorněno na obrázku níže:

    Problém je, že tento zdánlivě správný vzorec nebude fungovat pro buňky D3 až D5, protože relativní odkazy se mění na základě relativní polohy řádků a sloupců. Pro buňku D3 se tedy vzorec změní na =A3/B3 , a pro D4 bude =A4/B4 , děláte ověřování dat úplně špatně!

    Chcete-li vzorec opravit, stačí před odkazy na sloupce a řádky napsat "$", čímž je uzamknete: =$A$2/$B$2 . Nebo můžete stisknutím klávesy F4 přepínat mezi různými typy referencí.

    V situacích, kdy chcete ověřit každou buňku na základě vlastních kritérií, použijte relativní odkazy na buňky bez znaku $, aby se vzorec upravil pro každý řádek a/nebo sloupec:

    Jak vidíte, neexistuje žádná "absolutní pravda", stejný vzorec může být správný nebo špatný v závislosti na situaci a konkrétním úkolu.

    Takto lze používat ověřování dat v aplikaci Excel pomocí vlastních vzorců. Chcete-li získat více informací, neváhejte si stáhnout náš ukázkový sešit níže a prozkoumat nastavení pravidel. Děkuji vám za přečtení a doufám, že se příští týden uvidíme na našem blogu!

    Cvičebnice ke stažení

    Příklady ověřování dat v aplikaci Excel (.xlsx soubor)

    Michael Brown je oddaný technologický nadšenec s vášní pro zjednodušování složitých procesů pomocí softwarových nástrojů. S více než desetiletými zkušenostmi v technologickém průmyslu zdokonalil své dovednosti v aplikacích Microsoft Excel a Outlook a také v Tabulkách a Dokumentech Google. Michaelův blog je věnován sdílení jeho znalostí a odborných znalostí s ostatními a poskytuje snadno pochopitelné tipy a návody pro zlepšení produktivity a efektivity. Ať už jste zkušený profesionál nebo začátečník, Michaelův blog nabízí cenné postřehy a praktické rady, jak tyto základní softwarové nástroje co nejlépe využít.