Obsah
Tento návod ukazuje, ako vytvoriť vlastné pravidlá overovania údajov v programe Excel. Nájdete tu niekoľko príkladov E Vzorce na overovanie údajov v programe xcel, ktoré povoľujú iba čísla alebo textové hodnoty v určitých bunkách alebo iba text začínajúci určitými znakmi, povoľujú jedinečné údaje, ktoré zabraňujú duplikátom, a ďalšie.
Vo včerajšom návode sme sa začali zaoberať overovaním údajov v programe Excel - aký je jeho účel, ako funguje a ako používať vstavané pravidlá na overovanie údajov v pracovných hárkoch. Dnes sa posunieme o krok ďalej a povieme si o podrobnostiach vlastného overovania údajov v programe Excel, ako aj o experimentovaní s niekoľkými rôznymi validačnými vzorcami.
Ako vytvoriť vlastné overovanie údajov pomocou vzorca
Program Microsoft Excel má niekoľko vstavaných pravidiel overovania údajov pre čísla, dátumy a text, ktoré však pokrývajú len najzákladnejšie scenáre. Ak chcete overovať bunky pomocou vlastných kritérií, vytvorte si vlastné pravidlo overovania založené na vzorci:
- Vyberte jednu alebo viac buniek, ktoré chcete overiť.
- Otvorte dialógové okno Overenie údajov. Na tento účel kliknite na tlačidlo Overovanie údajov tlačidlo na Údaje na karte Dátové nástroje alebo stlačte sekvenciu klávesov Alt> D> L (každý kláves sa musí stlačiť samostatne).
- Na Nastavenia karta Overovanie údajov dialógové okno, vyberte Vlastné v Povoľte a zadajte vzorec na overenie údajov do poľa Vzorec box.
- Kliknite na . OK .
Voliteľne môžete pridať vlastnú vstupnú správu a upozornenie na chybu, ktoré sa zobrazia, keď používateľ vyberie potvrdenú bunku alebo zadá neplatné údaje.
Nižšie nájdete niekoľko príkladov vlastných pravidiel validácie pre rôzne typy údajov.
Poznámka: Všetky pravidlá overovania údajov v programe Excel, vstavané aj vlastné, overujú len nové údaje, ktoré sú zadané do bunky po vytvorení pravidla. Kopírované údaje sa neoverujú, ani údaje zadané do bunky pred vytvorením pravidla. Ak chcete priradiť existujúce položky, ktoré nespĺňajú kritériá overovania údajov, použite Zakrúžkujte neplatné údaje ako je uvedené v časti Ako nájsť neplatné údaje v programe Excel.
Overovanie údajov v programe Excel, aby bolo možné používať len čísla
Prekvapivo žiadne zo zabudovaných pravidiel overovania údajov v programe Excel neumožňuje veľmi typickú situáciu, keď potrebujete používateľom obmedziť zadávanie iba čísel do konkrétnych buniek. To však možno ľahko vykonať pomocou vlastného vzorca na overovanie údajov založeného na funkcii ISNUMBER, ako je tento:
=ISNUMBER(C2)
Kde C2 je najvyššia bunka rozsahu, ktorý chcete overiť.
Poznámka: Funkcia ISNUMBER umožňuje vo validovaných bunkách používať akékoľvek číselné hodnoty vrátane celých čísel, desatinných čísel, zlomkov, ako aj dátumov a časov, ktoré sú z hľadiska programu Excel tiež číslami.
Overovanie údajov v programe Excel, ktoré umožňuje iba text
Ak hľadáte opačný postup - chcete povoliť len textové položky v danom rozsahu buniek, vytvorte vlastné pravidlo napríklad pomocou funkcie ISTEXT:
=ISTEXT(D2)
Kde D2 je najvyššia bunka vybraného rozsahu.
Povolenie textu začínajúceho určitým(-i) znakom(-mi)
Ak by všetky hodnoty v určitom rozsahu mali začínať určitým znakom alebo podreťazcom, vykonajte overenie údajov v programe Excel na základe funkcie COUNTIF so zástupným znakom:
COUNTIF( bunka ," text *")Ak chcete napríklad zabezpečiť, aby všetky identifikačné čísla objednávok v stĺpci A začínali predponou "AA-", "aa-", "Aa-" alebo "aA-" (bez rozlišovania veľkých a malých písmen), definujte vlastné pravidlo s týmto vzorcom na overovanie údajov:
=COUNTIF(A2, "aa-*")
Validačný vzorec s logikou OR (viacero kritérií)
V prípade, že existujú 2 alebo viac platných prefixov, pridajte niekoľko funkcií COUNTIF, aby vaše pravidlo overovania údajov v programe Excel fungovalo s logikou OR:
=COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")
Validačný vzorec citlivý na veľkosť písmen
Ak záleží na veľkosti písmen, potom použite funkciu EXACT v kombinácii s funkciou LEFT na vytvorenie validačného vzorca s rozlišovaním veľkosti písmen pre položky začínajúce konkrétnym textom:
EXACT(LEFT( bunka , number_of_chars ), text )Ak chcete napríklad povoliť len tie identifikátory objednávok, ktoré začínajú na "AA-" (nie je povolené ani "aa-", ani "Aa-"), použite tento vzorec:
=EXACT(LEFT(A2,3), "AA-")
Vo vyššie uvedenom vzorci funkcia LEFT extrahuje prvé 3 znaky z bunky A2 a EXACT vykoná porovnanie s pevne zadaným podreťazcom ("AA-" v tomto príklade) s rozlišovaním malých a veľkých písmen. Ak sa tieto dva podreťazce presne zhodujú, vzorec vráti TRUE a overenie prebehne úspešne; v opačnom prípade sa vráti FALSE a overenie neprebehne.
Povolenie záznamov obsahujúcich určitý text
Ak chcete povoliť záznamy, ktoré obsahujú konkrétny text kdekoľvek v bunke (na začiatku, uprostred alebo na konci), použite funkciu ISNUMBER v kombinácii s funkciou FIND alebo SEARCH (v závislosti od toho, či chcete, aby sa porovnávali malé a veľké písmená alebo bez nich):
- Overovanie bez ohľadu na veľkosť písmen: ISNUMBER(SEARCH( text , bunka ))
- Overovanie podľa veľkosti písmen: ISNUMBER(FIND( text , bunka ))
Ak chcete v našom vzorovom súbore údajov povoliť len záznamy obsahujúce text "AA" v bunkách A2:A6, použite jeden z týchto vzorcov:
Nezáleží na veľkosti písmen:
=ISNUMBER(SEARCH("AA", A2))
Rozlišovanie veľkých a malých písmen:
=ISNUMBER(FIND("AA", A2))
Vzorce pracujú s nasledujúcou logikou:
Pomocou funkcie FIND alebo SEARCH vyhľadáte podreťazec "AA" v bunke A2, pričom obe funkcie vrátia pozíciu prvého znaku v podreťazci. Ak sa text nenájde, vráti sa chyba. Pre každú číselnú hodnotu vrátenú ako výsledok vyhľadávania funkcia ISNUMBER vráti TRUE a overenie údajov je úspešné. V prípade chyby funkcia ISNUMBER vráti FALSE a položka nebude v bunke povolená.
Overovanie údajov s cieľom povoliť len jedinečné položky a zakázať duplicity
V situáciách, keď by určitý stĺpec alebo rozsah buniek nemal obsahovať žiadne duplikáty, nakonfigurujte vlastné pravidlo overovania údajov, ktoré povolí len jedinečné záznamy. Na identifikáciu duplikátov použijeme klasický vzorec COUNTIF:
=COUNTIF( rozsah , topmost_cell )<=1Ak chcete napríklad zabezpečiť, aby sa do buniek A2 až A6 zadávali len jedinečné identifikátory objednávok, vytvorte vlastné pravidlo s týmto vzorcom na overovanie údajov:
=COUNTIF($A$2:$A$6, A2)<=1
Ak je zadaná jedinečná hodnota, vzorec vráti TRUE a validácia prebehne úspešne. Ak rovnaká hodnota už existuje v zadanom rozsahu (počet väčší ako 1), COUNTIF vráti FALSE a vstup neprebehne validácia.
Dávajte pozor, aby sme rozsah uzamkli pomocou absolútnych odkazov na bunky (A$2:$A$6) a použili relatívny odkaz na hornú bunku (A2), aby sa vzorec správne prispôsobil každej bunke v overovanom rozsahu.
Poznámka: Tento vzorec na overovanie údajov je rozlišovanie veľkých a malých písmen , nerozlišuje veľké a malé písmená v texte.
Validačné vzorce pre dátumy a časy
Vstavaná validácia dátumu poskytuje pomerne veľa preddefinovaných kritérií, ktoré používateľom umožňujú obmedziť zadávanie len dátumov medzi dvoma zadanými dátumami, väčšími, menšími alebo rovnými danému dátumu.
Ak chcete mať väčšiu kontrolu nad overovaním údajov v pracovných hárkoch, môžete replikovať vstavanú funkciu pomocou vlastného pravidla alebo napísať vlastný vzorec, ktorý presahuje vstavané možnosti overovania údajov v programe Excel.
Povolenie dátumov medzi dvoma dátumami
Ak chcete obmedziť zadanie na dátum v rámci určeného rozsahu, môžete použiť preddefinované pravidlo Dátum s kritériom "medzi" alebo vytvoriť vlastné validačné pravidlo s týmto všeobecným vzorcom:
AND( bunka >= start_date ), bunka <= end_date )Kde:
- bunka je najvyššia bunka v overovanom rozsahu a
- spustenie a koniec dátumy sú platné dátumy zadané prostredníctvom funkcie DATE alebo odkazy na bunky obsahujúce dátumy.
Ak chcete napríklad povoliť len dátumy v mesiaci júl roku 2017, použite nasledujúci vzorec:
=AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))
Alebo zadajte počiatočný a konečný dátum do niektorých buniek (v tomto príklade F1 a F2) a vo vzorci sa na tieto bunky odvolajte:
=AND(C2>=$F$1, C2<=$F$2)
Všimnite si, že hraničné dátumy sú uzamknuté pomocou absolútnych odkazov na bunky.
Povoľte len pracovné dni alebo víkendy
Ak chcete používateľovi obmedziť zadávanie len pracovných dní alebo víkendov, nakonfigurujte vlastné pravidlo overovania na základe funkcie WEEKDAY.
S return_type Argument WEEKDAY je nastavený na hodnotu 2 a vracia celé číslo v rozsahu od 1 (pondelok) do 7 (nedeľa). Takže pre pracovné dni (po až pia) by mal byť výsledok vzorca menší ako 6 a pre víkendy (so a ne) väčší ako 5.
Povoľte len pracovné dni :
TÝŽDEŇ( bunka ,2)<6Povoľte len víkendy :
TÝŽDEŇ( bunka ,2)>5Ak chcete napríklad umožniť zadávanie iba pracovných dní v bunkách C2:C6, použite tento vzorec:
=WEEKDAY(C2,2)<6
Overenie dátumov na základe dnešného dátumu
V mnohých situáciách môžete chcieť použiť dnešný dátum ako počiatočný dátum povoleného rozsahu dátumov. Ak chcete získať aktuálny dátum, použite funkciu TODAY a potom k nemu pripočítajte požadovaný počet dní na výpočet koncového dátumu.
Ak chceme napríklad obmedziť zadávanie údajov na 6 dní odteraz (7 dní vrátane dnešného dňa), použijeme zabudované pravidlo Dátum s kritériami založenými na vzorci:
- Vyberte Dátum v Povoľte
- Vyberte medzi v Údaje
- V Dátum začiatku zadajte do poľa
=TODAY()
- V Dátum ukončenia zadajte do poľa
=TODAY() + 6
Podobným spôsobom môžete používateľom obmedziť zadávanie dátumov pred alebo po dnešnom dátume. Na tento účel vyberte buď menej ako alebo väčšia ako v Údaje a potom zadajte =TODAY()
v Koniec dátum alebo Štart dátumové pole, resp.
Overenie časov na základe aktuálneho času
Ak chcete overiť údaje na základe aktuálneho času, použite preddefinované pravidlo Čas s vlastným vzorcom na overenie údajov:
- V Povoľte vyberte položku Čas .
- V Údaje vyberte buď menej ako povoliť len časy pred aktuálnym časom, alebo väčšia ako povoliť časy po aktuálnom čase.
- V Čas ukončenia alebo Čas začiatku (v závislosti od kritérií, ktoré ste vybrali v predchádzajúcom kroku), zadajte jeden z nasledujúcich vzorcov:
- Overenie platnosti dátumy a časy na základe aktuálneho dátumu a času:
=NOW()
- Overenie platnosti krát na základe aktuálneho času:
=TIME( HODINA(NOW()), MINÚTA(NOW()), SEKUNDA(NOW()))
- Overenie platnosti dátumy a časy na základe aktuálneho dátumu a času:
Na obrázku nižšie je zobrazené pravidlo, ktoré povoľuje len časy väčšie ako aktuálny čas:
Nefunguje vlastné pravidlo overovania údajov programu Excel
Ak vaše pravidlo overovania údajov založené na vzorci nefunguje podľa očakávania, je potrebné skontrolovať tri hlavné body:
- Vzorec na overenie údajov je správny
- Validačný vzorec sa nevzťahuje na prázdnu bunku
- Používajú sa vhodné odkazy na bunky
Kontrola správnosti vzorca na overovanie údajov v programe Excel
Na začiatok skopírujte svoj validačný vzorec do niektorej bunky a uistite sa, že nevracia chybu, napríklad #N/A, #VALUE alebo #DIV/0!.
Ak vytvárate vlastné pravidlo , vzorec by mal vrátiť logické hodnoty TRUE a FALSE alebo im zodpovedajúce hodnoty 1 a 0.
Ak použijete kritérium založené na vzorci v zabudované pravidlo (ako sme to urobili pri overovaní časov na základe aktuálneho času), môže vrátiť aj inú číselnú hodnotu.
Vzorec na overenie údajov v programe Excel by nemal odkazovať na prázdnu bunku
V mnohých situáciách, ak vyberiete Ignorovať prázdne miesto a jedna alebo viac buniek, na ktoré sa vzorec odvoláva, je prázdna, bude v overovanej bunke povolená akákoľvek hodnota.
Tu je príklad v najjednoduchšej forme:
Absolútne a relatívne odkazy na bunky vo vzorcoch na overovanie údajov
Pri nastavovaní validačného pravidla programu Excel založeného na vzorci majte na pamäti, že všetky odkazy na bunky vo vzorci sú vzhľadom na ľavú hornú bunku vo vybranom rozsahu.
Ak vytvárate pravidlo pre viac ako jednu bunku a vaše kritériá overovania závisia od špecifické bunky , uistite sa, že používate absolútne odkazy na bunky (so znamienkom $, ako napríklad $A$1), inak bude vaše pravidlo správne fungovať len pre prvú bunku. Pre lepšiu ilustráciu uveďte nasledujúci príklad.
Predpokladajme, že chcete obmedziť zadávanie údajov v bunkách D2 až D5 na celé čísla medzi 1 (minimálna hodnota) a výsledkom delenia A2 číslom B2. =A2/B2
, ako je znázornené na nasledujúcej snímke obrazovky:
Problémom je, že tento zdanlivo správny vzorec nebude fungovať pre bunky D3 až D5, pretože relatívne odkazy sa menia na základe relatívnej polohy riadkov a stĺpcov. Pre bunku D3 sa teda vzorec zmení na =A3/B3
, a pre D4 sa stane =A4/B4
, robíte validáciu údajov úplne zle!
Ak chcete vzorec opraviť, stačí pred odkazy na stĺpce a riadky napísať "$", čím ich uzamknete: =$A$2/$B$2
. Alebo stlačením klávesu F4 prepínajte medzi rôznymi typmi odkazov.
V situáciách, keď chcete overiť každú bunku na základe jej vlastných kritérií, použite relatívne odkazy na bunky bez znaku $, aby sa vzorec upravil pre každý riadok a/alebo stĺpec:
Ako vidíte, neexistuje "absolútna pravda", rovnaký vzorec môže byť správny alebo nesprávny v závislosti od situácie a konkrétnej úlohy.
Takto sa používa overovanie údajov v programe Excel s vlastnými vzorcami. Ak chcete získať viac informácií, neváhajte si stiahnuť náš vzorový zošit nižšie a preskúmať nastavenia pravidiel. Ďakujem vám za prečítanie a dúfam, že sa na našom blogu uvidíme budúci týždeň!
Cvičebnica na stiahnutie
Príklady overovania údajov v programe Excel (.xlsx súbor)