Ynhâldsopjefte
De tutorial lit sjen hoe't jo oanpaste regels foar gegevensvalidaasje meitsje kinne yn Excel. Jo sille in pear foarbylden fine fan E xcel gegevensvalidaasjeformules om allinich sifers of tekstwearden yn spesifike sellen te tastean, of allinich tekst dy't begjint mei spesifike tekens, tastean unike gegevens foar it foarkommen fan duplikaten, en mear.
Yn 'e tutorial fan juster binne wy begon te sjen nei Excel-gegevensvalidaasje - wat it doel is, hoe't it wurket, en hoe't jo ynboude regels kinne brûke om gegevens yn jo wurkblêden te falidearjen. Hjoed sille wy in stap fierder nimme en prate oer de nitty-gritty aspekten fan oanpaste gegevensvalidaasje yn Excel en ek eksperimintearje mei in hantsjefol ferskillende falidaasjeformules.
Hoe kinst meitsje oanpaste gegevensvalidaasje mei formule
Microsoft Excel hat ferskate ynboude datavalidaasjeregels foar sifers, datums en tekst, mar se dekke allinich de meast basale senario's. As jo sellen falidearje wolle mei jo eigen kritearia, meitsje dan in oanpaste falidaasjeregel basearre op in formule. Hjir is hoe:
- Selektearje ien of mear sellen om te falidearjen.
- Iepenje it dialoochfinster Data Validation. Klikje hjirfoar op de knop Gegevensvalidaasje op it ljepblêd Gegevens , yn de groep Gegevensark of druk op de kaaisequence Alt > D & GT; L (elke toets moat apart yndrukt wurde).
- Selektearje op it ljepblêd Ynstellings fan it dialoochfinster Gegevensvalidaasje Aanpast yn de Tastean fak, en enterposysje fan rigen en kolommen. Sa, foar sel D3 sil de formule feroarje nei
=A3/B3
, en foar D4 sil it=A4/B4
wurde, it docht gegevensvalidaasje hielendal ferkeard!Om de formule te reparearjen, typ gewoan "$" foar de kolom- en rigeferwizings om te sluten harren:
=$A$2/$B$2
. Of, druk op F4 om te wikseljen tusken ferskillende referinsjesoarten.Yn situaasjes as jo elke sel falidearje wolle op basis fan har eigen kritearia, brûk relative selferwizings sûnder $ teken om de formule oan te passen foar elke rige of/en kolom:
Sa't jo sjogge, is d'r gjin "absolute wierheid", deselde formule kin goed of ferkeard wêze ôfhinklik fan situaasje en jo bepaalde taak.
Dit is hoe't jo gegevensvalidaasje brûke yn Excel mei jo eigen formules. Om mear begryp te krijen, fiel jo frij om ús foarbyldwurkboek hjirûnder te downloaden en de regelynstellingen te ûndersykjen. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!
Oefeningswurkboek foar download
Excel Data Validation foarbylden (.xlsx triem)
jo gegevensvalidaasjeformule yn it fak Formule . - Klik op OK .
Opsjoneel, kinne jo in oanpaste ynfier berjocht en Flater warskôging dat sil ferskine as de brûker selekteart de falidearre sel of fiert ûnjildige gegevens, respektivelik.
Hjirûnder fine jo in pear foarbylden fan oanpaste falidaasje regels foar ferskillende gegevens typen.
Opmerking. Alle regels foar validaasje fan Excel-gegevens, ynboude en oanpaste, ferifiearje allinich nije gegevens dy't yn in sel typt binne nei it meitsjen fan de regel. Kopiearje gegevens wurde net falidearre, noch is de gegevens ynfier yn 'e sel foardat it meitsjen fan de regel. Om besteande ynstjoerings dy't net foldogge oan jo kritearia foar gegevensvalidaasje, brûk de funksje Unjildige gegevens foar sirkels lykas werjûn yn Hoe ûnjildige gegevens te finen yn Excel.
Falidaasje fan Excel-gegevens om allinich nûmers ta te stean
Ferrassend, gjin fan 'e ynboude regels foar Excel-gegevensvalidaasje soarget foar in heul typyske situaasje as jo brûkers moatte beheine om allinich nûmers yn spesifike sellen yn te fieren. Mar dit kin maklik dien wurde mei in oanpaste gegevensvalidaasjeformule basearre op de ISNUMBER-funksje, lykas dizze:
=ISNUMBER(C2)
Wêr't C2 de boppeste sel is fan it berik dat jo falidearje wolle.
Opmerking. De ISNUMBER-funksje lit alle numerike wearden yn falidearre sellen tastean, ynklusyf heule getallen, desimalen, fraksjes, lykas datums en tiden, dy't ek nûmers binne yn termen fan Excel.
Excel-gegevensvalidaasje om ta te steanallinich tekst
As jo nei it tsjinoerstelde sykje - om allinich tekstyngongen yn in bepaald berik fan sellen ta te stean, bouw dan in oanpaste regel mei de ISTEXT-funksje, bygelyks:
=ISTEXT(D2)
Dêr't D2 de boppeste sel is fan it selekteare berik.
Taste tekst dy't begjint mei spesifike karakter(s)
As alle wearden yn in bepaalde berik moat begjinne mei in bepaald karakter of substring, doch dan Excel-gegevensvalidaasje basearre op de COUNTIF-funksje mei in jokerteken:
COUNTIF( sel," tekst*")Bygelyks, om te soargjen dat alle oarder-id's yn kolom A begjinne mei de "AA-", "aa-", "Aa-", of "aA-" foarheaksel (hoofdletter-ûngefoelich), definiearje in oanpaste regel mei dizze formule foar gegevensvalidaasje:
=COUNTIF(A2,"aa-*")
Falidaasjeformule mei de OR-logika (meardere kritearia)
Yn gefal dat der 2 of mear jildich binne foarheaksels, foegje ferskate COUNTIF-funksjes op, sadat jo Excel-gegevensvalidaasjeregel wurket mei de OR-logika:
=COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")
Hoofdlettergefoelige falidaasjeformule
As de haadletters fan belang is, brûk dan EXACT yn kombinaasje mei de LEFT-funksje om in haadlettergefoelige falidaasjeformule te meitsjen foar yngongen dy't begjinne mei spesifike tekst:
EXACT(LEFT( sel, number_of_chars), text)Bygelyks, om allinich de oarder-ID's ta te stean dy't begjinne mei "AA-" (noch "aa-" noch "Aa-" is tastien), brûk dit formule:
=EXACT(LEFT(A2,3),"AA-")
Yn de boppesteande formule,de LEFT funksje ekstrahearret de earste 3 tekens út sel A2, en EXACT fiert in case-sensitive ferliking mei de hurd-kodearre substring ("AA-" yn dit foarbyld). As de twa substrings krekt oerienkomme, jout de formule TRUE werom en giet de falidaasje troch; oars wurdt FALSE weromjûn en de falidaasje mislearret.
Yngongen tastean dy't bepaalde tekst befetsje
Om yngongen dy't spesifike tekst befetsje oeral yn in sel (yn it begjin) , midden, of ein), brûk de ISNUMBER-funksje yn kombinaasje mei FIND of SEARCH ôfhinklik fan oft jo haadlettergefoelige of net-gefoelige oerienkomst wolle:
- Falidaasje foar haadlettergefoelige: ISNUMBER(SEARCH( tekst , sel ))
- Hoofdlettergefoelige falidaasje: ISNUMBER(FIND( tekst , sel ))
Op ús stekproefgegevensset, om allinich yngongen ta te stean dy't de tekst "AA" befetsje yn sellen A2:A6, brûk ien fan dizze formules:
Hoofdletterûnsensitive:
=ISNUMBER(SEARCH("AA", A2))
Hoofdlettergefoelich:
=ISNUMBER(FIND("AA", A2))
De formules wurkje mei de folgjende logika:
Jo sykje de substring "AA" yn sel A2 mei help fan FIND of SEARCH, en beide werom in posysje fan it earste karakter yn de substring. As de tekst net fûn wurdt, wurdt in flater weromjûn. Foar elke numerike wearde dy't weromjûn wurdt as resultaat fan sykjen, jout de ISNUMBER-funksje TRUE, en gegevensvalidaasje is suksesfol. Yn gefal fan in flater jout ISNUMBER FALSE, en de yngong sil net tastien wurde yn insel.
Gegevensvalidaasje om allinich unike yngongen ta te stean en duplikaten net tastean
Yn situaasjes wêryn in bepaalde kolom of in selberik gjin duplikaten befetsje moat, konfigurearje in oanpaste gegevensvalidaasjeregel om allinich unike yngongen te tastean. Hjirfoar sille wy de klassike COUNTIF-formule brûke om duplikaten te identifisearjen:
=COUNTIF( berik, boppeste_sel)<=1Bygelyks om te meitsjen Soargje derfoar dat allinich unike folchoarder-ID's wurde ynfierd yn sellen A2 oant A6, meitsje in oanpaste regel mei dizze gegevensvalidaasjeformule:
=COUNTIF($A$2:$A$6, A2)<=1
As in unike wearde ynfierd wurdt, jout de formule TRUE werom en de validaasje slagget. As deselde wearde al bestiet yn it opjûne berik (tel grutter as 1), jout COUNTIF FALSE werom en de ynfier mislearret falidaasje.
Soargje asjebleaft op dat wy it berik beskoattelje mei absolute selferwizings (A$2:$A) $6) en brûk in relative referinsje foar de boppeste sel (A2) om de formule te krijen om goed oan te passen foar elke sel yn it falidearre berik.
Opmerking. Dizze formules foar gegevensvalidaasje binne gefoel foar haadletters , it makket gjin ûnderskied tusken haadletters en lytse letters.
Falidaasjeformules foar datums en tiden
Ynboude datumbefêstiging leveret in soad foarôf definieare kritearia om brûkers te beheinen om allinich datums yn te fieren tusken de twa datums dy't jo oantsjutte, grutter dan, minder as of gelyk oan in opjûne datum.
As jo mear kontrôle wolle oer gegevensfalidaasje yn jo wurkblêden, kinne jo de ynboude funksjonaliteit replikearje mei in oanpaste regel of jo eigen formule skriuwe dy't fierder giet dan de ynboude mooglikheden fan Excel-gegevensvalidaasje.
Dates tastean tusken twa datums
Om de ynfier te beheinen ta in datum binnen in spesifisearre berik, kinne jo of de foargeande datumregel brûke mei de "tusken" kritearia of in oanpaste falidaasjeregel meitsje mei dizze generyske formule:
EN( sel> ;= begjindatum), sel<= eindatum)Wêr:
- sel is de boppeste sel yn it falidearre berik, en
- begjin en ein datums binne jildige datums levere fia de DATE-funksje of ferwizings nei sellen dy't de datums befetsje.
Bygelyks, om allinich datums yn 'e moanne july fan it jier 2017 ta te stean, brûk de folgjende formule:
=AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))
Of, fier de startdatum en ein yn datum yn guon sellen (F1 en F2 yn dit foarbyld), en ferwize nei dy sellen yn jo formule:
=AND(C2>=$F$1, C2<=$F$2)
Let op dat de grinsdatums ar e beskoattele mei absolute selferwizings.
Allinnich wurkdagen of wykeinen tastean
Om in brûker te beheinen om allinich wurkdagen of wykeinen yn te gean, konfigurearje in oanpaste falidaasjeregel basearre op de WEEKDAY-funksje.
Mei it argumint return_type op 2 set, jout WEEKDAY in hiel getal werom fan 1 (moandei) oant 7 (snein). Dus, foar wurkdagen (moandei oant freed) moat it resultaat fan 'e formule wêzeminder dan 6, en foar wykeinen (sneon en sinne) grutter dan 5.
Allinne wurkdagen tastean :
WEEKDAY( sel,2)<6Allinich wykeinen tastean :
WEEKDAY( sel,2)>5Om bygelyks allinnich wurkdagen yn sellen C2:C6 yn te fieren, brûk dit formule:
=WEEKDAY(C2,2)<6
Dates falidearje op basis fan de datum fan hjoed
Yn in protte situaasjes kinne jo de datum fan hjoed brûke as it begjin datum fan it tastiene datumberik. Om de aktuele datum te krijen, brûk de funksje HJOED, en foegje dan it winske oantal dagen deroan ta om de eindatum te berekkenjen.
Bygelyks, om de ynfier fan gegevens te beheinen ta 6 dagen fan no ôf (7 dagen ynklusyf hjoed), sille wy de ynboude Datumregel brûke mei de formule-basearre kritearia:
- Selektearje Datum yn 'e Tastean
- Selektearje tusken yn 'e Gegevens
- Yn it fak Startdatum , fier
=TODAY()
- Yn de Einddatum fakje, fier
=TODAY() + 6
yn
Op in fergelykbere wize kinne jo brûkers beheine ta it ynfieren fan datums foar of nei de datum fan hjoed. Selektearje hjirfoar minder dan of grutter dan yn it fak Data , en fier dan =TODAY()
yn yn de Ein datum of Begjin datum fak, respektivelik.
Falidearje tiden basearre op aktuele tiid
Om gegevens te falidearjen basearre op de aktuele tiid, brûk de foarôf definieare Tiidregel mei jo eigen gegevensvalidaasjeformule:
- Selektearje yn it fak Tastean Tiid .
- Kies yn it fak Gegevens of minder dan om allinnich tiden foar de aktuele tiid ta te stean, of grutter dan om tiden nei de aktuele tiid ta te stean.
- Yn it fak Eindtiid of Begjintiid (ôfhinklik fan hokker kritearia jo selektearre hawwe yn 'e foarige stap), Fier ien fan de folgjende formules yn:
- Om datums en tiden te falidearjen basearre op de aktuele datum en tiid:
=NOW()
- Om te falidearjen kear basearre op de aktuele tiid:
=TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))
- Om datums en tiden te falidearjen basearre op de aktuele datum en tiid:
De skermprint hjirûnder lit in regel sjen dy't allinich kearen grutter dan de aktuele tiid:
Aanpaste Excel-gegevensvalidaasjeregel wurket net
As jo formule-basearre gegevensvalidaasjeregel net wurket lykas ferwachte, binne d'r 3 haadpunten om te kontrolearjen:
- Gegevensvalidaasjeformule is korrekt
- Falidaasjeformule ferwiist net nei in lege sel
- Gastige selferwizings wurde brûkt
Kontrolearje de korrektheid fan jo formule foar validaasje fan Excel-gegevens
Om te begjinnen, kopiearje jo falidaasjeformule nei in sel om te soargjen dat it gjin flater werombringt lykas #N/A, #VALUE of #DIV/0!.
As jo in oanpaste regel<12 meitsje>, de formule moat de logyske wearden fan TRUE en FALSE weromjaan of de wearden fan 1 en 0 dy't respektivelik lykweardich binne.
As jo in formule-basearre kritearia brûke yn in ynboude regel (lykas wy diene om tiden te falidearjen basearre op 'ehjoeddeistige tiid), kin it ek in oare numerike wearde weromjaan.
De formule foar validaasje fan Excel-gegevens moat net ferwize nei in lege sel
Yn in protte situaasjes, as jo de Leech negearje<12 selektearje> fakje by it definiearjen fan de regel (meastentiids selektearre standert) en ien of mear sellen ferwiisd yn jo formule is leech, eltse wearde wurdt tastien yn de falidearre sel.
Hjir is in foarbyld yn de ienfâldichste foarm:
Absolute en relative selferwizings yn formules foar gegevensvalidaasje
By it ynstellen fan in formule-basearre Excel-validaasjeregel, hâld dan yn gedachten dat alle selferwizings yn jo formule binne relatyf oan de sel boppe lofts yn it selektearre berik.
As jo in regel meitsje foar mear as ien sel en jo falidaasjekritearia binne ôfhinklik fan spesifike sellen , wês wis dat jo absolute selferwizings brûke (mei it $ teken lykas $A$1), oars sil jo regel allinich goed wurkje foar de earste sel. Om it punt better te yllustrearjen, beskôgje asjebleaft it folgjende foarbyld.
Stel, jo wolle gegevensynfier yn sellen D2 oant D5 beheine ta folsleine getallen tusken 1 (minimumwearde) en it resultaat fan dielen fan A2 troch B2. Dat, jo berekkenje de maksimale wearde mei dizze ienfâldige formule =A2/B2
, lykas werjûn yn 'e skermôfbylding hjirûnder:
It probleem is dat dizze skynber korrekte formule net wurket foar sellen D3 oant D5 omdat relative ferwizings feroarje basearre op in relative