Excel Datuen baliozkotzea adierazpen erregularrak erabiliz (Regex)

  • Partekatu Hau
Michael Brown

Tutorialak Excel-en datuak baliozkotzea erakusten du adierazpen erregularrak erabiliz, RegexMatch funtzio pertsonalizatu baten laguntzaz.

Erabiltzaileen sarrera Excel-eko orrietan murrizteko orduan, Datuen baliozkotzea. ezinbestekoa da. Zenbakiak edo datak soilik onartu nahi dituzu gelaxka jakin batean? Edo testu-balioak luzera zehatz batera mugatu? Edo, beharbada, tarte jakin batetik kanpoko denborak debekatu? Ez dago arazorik, hau guztia erraz egin daiteke baliozkotze irizpideekin aurrez ezarritako edo pertsonalizatuekin. Baina zer gertatzen da eredu zehatz batekin bat datozen baliozko helbide elektronikoak edo kateak soilik onartu nahi baditut? Ai, hori ez da posible. Regex diozu? Hmm... horrek funtziona dezake!

    Nola egin Excel datuen baliozkotzea Regex-ekin

    Tamalez, Excel-en barneko eginbideetako batek ere ez du onartzen regexeak, eta Datuen baliozkotzea ez da. salbuespena. Adierazpen erregularrak erabiliz gelaxka-sarrera balioztatu ahal izateko, lehenik eta behin Regex funtzio pertsonalizatu bat sortu behar duzu. Beste konplikazio bat da VBA erabiltzaileak definitutako funtzioak ezin direla zuzenean zerbitzatu Datuak Baliozkotzeko - bitartekari bat beharko duzu izendun formula baten moduan.

    Aurrekoa kontuan hartuta, laburki azalduko ditzagun eman beharreko urratsak. Excel-en datuak balioztatzeko regexeak erabiliz:

    1. Sortu erregulazio-funtzio pertsonalizatu bat, sarrerako balio bat adierazpen erregular batekin bat datorren egiaztatzen duena.
    2. Definitu izen bat zure Regex formularako.
    3. Konfiguratu datuen baliozkotze-arau bat izendatzen den formulan oinarrituta.
    4. Kopiatubaliozkotze ezarpenak nahi adina gelaxkatan.

    Plan bat dirudi? Saia gaitezen praktikan ezartzen!

    Excel datuen baliozkotzea adierazpen erregular pertsonalizatuak erabiliz

    Adibide honek oso ohikoa den kasu bati heltzen dio: nola onartu eredu zehatz baten balioak soilik.

    Demagun SKU kode batzuk zure lan-orrian gordetzen dituzula eta ziurtatu nahi duzula eredu jakin batekin bat datozen kodeak bakarrik sartzen direla zerrendan. SKU bakoitza marratxo batekin bereizitako 2 karaktere taldez osatuta badago, lehenengo taldea 3 letra larriz eta bigarren taldea 3 zifraz osatuta, balio horiek identifika ditzakezu beheko adierazpen erregularra erabiliz.

    Eredua : ^[A-Z]{3}-\d{3}$

    Mesedez, konturatu katearen hasiera (^) eta amaiera ($) ainguratuta daudela, beraz, karaktererik ez gelaxka batean eredua sar liteke.

    1. Gehitu Regex Match funtzio pertsonalizatu bat

    Hasi RegExpMatch funtzioa lan-liburuan txertatzen. Kodea dagoeneko idatzi dute gure Excel-eko guruek, beraz, goiko estekatutako orrialdetik kopiatu eta zure VBA editorean itsatsi besterik ez duzu behar.

    Hona hemen funtzioaren sintaxia erreferentzia gisa:

    RegExpMatch(text , eredua, [match_case])

    Non:

    • Testua (beharrezkoa) - iturburu-katea (gure testuinguruan - baliozkotutako gelaxka).
    • Eredua (beharrezkoa) - bat etortzeko adierazpen erregularra.
    • Match_case (aukerakoa) - bat-etortze mota. EGIA edo baztertua - maiuskulak -sentikorra; GEZURRA - maiuskulak eta minuskulak bereizten ditu.

    Aholkua. Gure Ultimate Suite-ko erabiltzailea bazara, Regex Datuen Baliozkotzea egin dezakezu Excel-en, zure lan-liburuetan VBA koderik gehitu gabe. Aprobetxatu gure Regex Tresnekin sartutako AblebitsRegexMatch funtzio pertsonalizatu bat.

    2. Sortu izendun formula

    Zure helburuko lan-orrian, hautatu A1 gelaxka (bere edukia edozein dela ere eta benetan balioztatuko duzun gelaxka edozein dela ere), sakatu Ctrl + F3 Izen-kudeatzailea irekitzeko eta izen bat definitu. formula honetarako:

    =RegExpMatch(Sheet1!A1, "^[A-Z]{3}-\d{3}$")

    Edo regex gelaxka batean sar dezakezu (A2 adibide honetan) eta $A$2 eman bigarren argumentuari:

    =RegExpMatch(Sheet1!A1, Sheet1!$A$2)

    Formulak behar bezala funtziona dezan, ziurtatu erreferentzia erlatiboa erabiltzen duzula testua argumenturako (A1) eta erreferentzia absolutua eredua rako ($A$2).

    Gure formula SKU zenbakiak balioztatzeko xedea duela kontuan hartuta, horren arabera izendatzen dugu: Balioztatze_SKU .

    Ohar garrantzitsua! Formula definitzean, egiaztatu lehen argumentuak unean hautatutako gelaxka ri egiten diola erreferentzia, bestela formulak ez du funtzionatuko. Adibidez, fitxan A1 gelaxka hautatzen bada, jarri A1 lehen argumentuan (gure gomendioen arabera); B2 hautatzen bada, erabili B2 lehen argumenturako, eta horrela bat. Ez du axola zein erreferentzia zehatz erabiltzen duzun, unean hautatutako gelaxkarekin bat datorren bitartean.

    Pausoz urrats egiteko.argibideak, ikusi Nola egin izendun formula bat Excel-en.

    3. Konfiguratu Datuen Baliozkotzea

    Hautatu egiaztatu beharreko lehen gelaxka (A5 gure kasuan) eta egin datuen baliozkotze-arau pertsonalizatu bat, izendatutako formulan oinarrituta. Horretarako, egin hau:

    1. Sakatu Datuak fitxan > Datuen baliozkotzea .
    2. Baimendu<2 aukeran> goitibeherako zerrenda, hautatu Pertsonalizatua .
    3. Idatzi beheko formula dagokion koadroan.

      =Validate_SKU

    4. Deshautatu Ez ikusi hutsik aukera, bestela zure arauak ez du funtzionatuko.

    Aukeran, idatzi dezakezu gelaxka batean datu baliogabeak sartzen direnean bistaratuko den errore-mezu pertsonalizatua.

    Pauso zehatzak behar dituzula uste baduzu, hona hemen: Nola konfiguratu Excel-en datuen baliozkotze pertsonalizatua.

    4. Kopiatu datuen baliozkotzea gelaxka gehiagotan

    Balidazio-ezarpenak gelaxka gehiagotan kopiatzeko, hau da egin behar duzuna:

    1. Hautatu datuen baliozkotzea duen gelaxka eta sakatu Ctrl + C. kopiatu.
    2. Hautatu balioztatu nahi dituzun beste gelaxka batzuk, egin klik eskuineko botoiarekin, egin klik Itsatsi berezia eta aukeratu Balioztatzen aukera.
    3. Sakatu Ados .

    Informazio gehiago nola kopiatu datuen baliozkotzea atalean aurki daiteke.

    Orain, norbait baliozkotutako gelaxka batean SKU baliogabea sartzen saiatzen den bakoitzean, honako hau abisu-mezua agertuko da:

    E-posta baliozkotzea Regex-ekin

    E-posta baliozkotzea egiteko, hasihelbide elektroniko batekin bat datorren adierazpen erregularra idaztearekin.

    Eredua : ^[\w\.\-]+@[A-Za-z0-9]+[A-Za -z0-9\.\-]*[A-Za-z0-9]+\.[A-Za-z]{2,24}$

    Sintaxiaren azalpen zehatza lortzeko, mesedez ikusi Regex helbide elektroniko baliozkoekin bat etortzeko.

    Eta orain, zehaztu baliozkotze-irizpideak dagoeneko ezagunak diren urratsak eginez:

    1. Idatzi goiko regex B2n.
    2. Hautatu A1 gelaxka eta definitu Balioztatu_E-maila izeneko izena:

      =RegExpMatch(Sheet1!A1, Sheet1!$B$2)

    3. B5 gelaxkarako, aplikatu Datuen Baliozkotze pertsonalizatua beheko formula erabiliz. Ezinbestekoa da Hutsunerik ez ikusi aukera hautatu gabe egotea.

      =Validate_Email

      Gainera, errore-mezu pertsonalizatu bat konfigura dezakezu erabiltzaileari baliozko helbide elektroniko bat sartzeko eskatuz.

    4. Kopiatu araua beheko gelaxketan.

    Balioztatuta dagoen gelaxka batean sartzen duzun helbide elektroniko bat ez badator bat ohiko adierazpen-eredu batekin, honako alerta hau emango da. pop up:

    Pashitzak baliozkotzea adierazpen erregularrak erabiliz

    Pasahitza baliozkotzeko regex erabiltzean, zure adierazpen erregularrak zer egiaztatu behar duen erabaki behar den lehenengo gauza da. Hona hemen bide egokian jar dezaketen adibide batzuk.

    Pasahitz batek gutxienez 6 karaktere izan behar ditu eta letrak (maiuskulak edo minuskulak) eta digituak soilik izan ditzake:

    Eredua : ^[A-Za-z0-9]{6,}$

    Pasahitzak gutxienez 6 karaktere izan behar ditu eta gutxienez letra bat etazifra bat:

    Eredua : ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6 ,}$

    Pasahitz batek gutxienez 6 karaktere izan behar ditu eta gutxienez letra larria, minuskula bat eta zifra bat izan behar ditu:

    Eredua : ^(?= .*[A-Z])(?=.*[a-z])(?=.*\d)[A-Za-z\d]{6,}$

    Pasahitz batek gutxienez 6 karaktere izan behar ditu luzea eta gutxienez letra bat, zifra bat eta karaktere berezi bat sartu:

    Eredua : ^(?=.*[A-Za-z])(?=.*\d )(?=.*[@$!%*#?&_-])[A-Za-z\d@$!%*#?&_-]{6,}$

    Eredua ezarrita, Datuen Baliozkotzea konfiguratzera pasa zaitezke:

    1. Idatzi zure pasahitzaren erregulazioa C2-n.
    2. Hautatu A1 gelaxka eta sortu izeneko formula izenduna. Validate_Password :

      =RegExpMatch(Sheet1!A1, Sheet1!$C$2)

    3. C5 gelaxketarako, sortu baliozkotze-arau pertsonalizatu bat beheko formularekin. Gogoratu Ez ikusi hutsik kontrol-laukia desautatu behar duzula.

      =Validate_Password

    4. Kopiatu araua nahi adina gelaxkatan.

    Orain, pasahitz berriak gehi ditzakezu zerrendara. Sarrerako kate bat ez badator bat regex-arekin, honako alerta honek gogoraraziko dizu zer-nolako balioak onartzen diren:

    Regex Data Validation ez dabil

    Regex Data Validation ez bada funtzionatzen Excel-en , ziurrenik arrazoi hauetako bat dela eta.

    RegExpMatch funtzioa falta da

    Datuen baliozkotzea aplikatu aurretik, ziurtatu RegExpMatch funtzioaren kodea lan-koadernoan txertatzen duzula.

    Erregular okerraexpression

    Zure erregimenak espero bezala funtzionatzen duela ziurtatzeko, RegExpMatch formula bat sar dezakezu gelaxka batean eta emaitzak aztertu. Informazio gehiago lortzeko, ikus Excel Adierazpen erregularrak bat datozen adibideekin.

    Zure adierazpen erregularrak aztertzeko eta arazketa egiteko, doako lineako regex probatzeko zerbitzuak erabil ditzakezu, hala nola RegEx101 edo RegExr.

    Izeneko formula okerra.

    Datuak baliozkotzeko hutsegitearen arrazoi oso ohikoa gelaxka oker bati erreferentzia egiten dion Regex izeneko formula da. Adibide guztietan, A1-ri erreferentzia egiten dion formula bat definitzea gomendatzen dugu:

    =RegExpMatch(A1, regex)

    Honek bakarrik funtzionatzen du A1 gelaxka aktibo badago izena eta <15 bat definitzerakoan>erreferentzia erlatiboa ($ zeinurik gabe) erabiltzen da.

    Ideia da formulan (A1) zehaztutako erreferentzia erlatiboa automatikoki aldatuko dela baliozkotutako gelaxkaren posizio erlatiboaren arabera. Beste era batera esanda, A1 gelaxka erosotasuna eta koherentziagatik aukeratzen da. Izan ere, B1 gelaxka hauta dezakezu eta B1 erreferentzia, C1 gelaxka hautatu eta C1 erreferentzia, eta abar. Gakoa da erreferentziatutako gelaxka zelula aktiboa izan behar dela.

    Izeneko formula zuzena den egiaztatzeko, hautatu lan-orriko edozein gelaxka, ireki Izena kudeatzailea, eta ikusi formulak zein gelaxkatara seinalatzen duen. Unean hautatutako gelaxkara aipatzen bada, formula egokia da. Bestela, lehen argumentuko erreferentzia aldatu beharko zenuke.

    Pantaila-argazkianbehean, A7 gelaxka hautatzen da, hau da, izendatutako formula batek A7 izan beharko luke lehen argumentuan. Bigarren argumentuak ($A$2) regex-ari egiten dio erreferentzia - erreferentzia hau konstante mantendu behar da, beraz, $ zeinuarekin blokeatuta dago.

    Hautatuta dagoen aukera hutsik ez ikusi

    Datuak baliozkotzeko arau pertsonalizatu bat konfiguratzean, garrantzitsua da Ez ikusi hutsik kontrol-laukia desautatzea. Bestela, arauak ez du funtzionatuko arrazoi hau dela eta:

    Ekodukziorik aurkitzen ez bada, RegExpMatch funtzioak FALSE itzultzen du. Ez ikusi hutsunea aukera hautatuta, FALSE hutsunearekin berdintzen da eta ez da aintzat hartzen.

    Konponbide alternatibo batek esplizituki adierazten du formulak EGIA itzuli behar duela:

    =RegExpMatch(…)=TRUE

    Horrela da Excel-en datuen baliozkotzea adierazpen erregularrak erabiliz. Eskerrik asko irakurtzeagatik eta hurrengo astean gure blogean ikustea espero dut!

    Praktikatu lan-koadernoa deskargatzeko

    Regex Data Validation adibideak (.xlsm fitxategia)

    Michael Brown teknologia-zale dedikatua da, software-tresnak erabiliz prozesu konplexuak sinplifikatzeko grina duena. Hamarkada bat baino gehiagoko esperientzia duen teknologia-industrian, Microsoft Excel eta Outlook-en eta Google Sheets eta Docs-en trebetasunak landu ditu. Michael-en bloga bere ezagutzak eta esperientziak besteekin partekatzera zuzenduta dago, produktibitatea eta eraginkortasuna hobetzeko aholku eta tutorial errazak eskaintzen ditu. Profesional ondua edo hasiberria izan, Michael-en blogak informazio baliotsuak eta aholku praktikoak eskaintzen ditu funtsezko software-tresna horiei etekinik handiena ateratzeko.