Verastkirina Daneyên Excel bi karanîna bêjeyên rêkûpêk (Regex)

  • Vê Parve Bikin
Michael Brown

Dersdar nîşan dide ka meriv çawa bi karanîna fonksiyonek RegexMatch-ê ya xwerû bi karanîna biwêjên rêkûpêk bi karanîna raveyên rêkûpêk verastkirina daneyan di Excel de nîşan dide.

Dema ku ew tête sînordarkirina têketina bikarhêner di pelên xebatê Excel de, Rastkirina Daneyê neçar e. Dixwazin di hucreyek diyar de tenê jimar an tarîx bihêlin? An jî nirxên nivîsê bi dirêjiyek taybetî bisînor bikin? An jî dibe ku demên li derveyî rêzek diyarkirî nehêle? Pirsgirêk tune, ev hemî bi pîvanên pejirandî yên pêşîn an xwerû bi hêsanî dikare were kirin. Lê heke ez bixwazim tenê navnîşanên e-nameyê an rêzikên derbasdar ên ku bi şêwazek taybetî re têkildar in destûr bidim? Mixabin, ew ne gengaz e. Regex tu dibêjî? Hmm… dibe ku ew bixebite!

    Meriv çawa bi Regex ve Rastkirina Daneyên Excel-ê dike

    Mixabin, yek ji taybetmendiyên Excel-ê yên çêkirî regexes piştgirî nake, û Rastkirina Daneyê tune ye îstîsna. Ji bo ku hûn bikaribin têketina hucreyê bi karanîna birêkûpêk verast bikin, hûn hewce ne ku pêşî fonksiyonek Regex-a xwerû biafirînin. Tevliheviyek din jî ev e ku fonksiyonên diyarkirî yên VBA-yê nekarin rasterast ji Validandina Daneyê re bêne xizmet kirin - hûn ê hewceyê navbeynkarek di forma formulayek binavkirî de bin.

    Li jor li ber çavan bigirin, werin em bi kurtî gavên ku têne avêtin destnîşan bikin. ji bo rastkirina daneyan di Excel de bi karanîna regexes:

    1. Fonksiyonek Regex a xwerû biafirîne ku kontrol dike ka nirxek têketinê bi bêjeyek rêkûpêk re li hev dike yan na.
    2. Navek ji formula Regex-a xwe re diyar bike.
    3. Rêgezek Verastkirina Daneyê li ser bingeha formula binavkirî mîheng bike.
    4. Kopî bikemîhengên erêkirinê ji bo çend şaneyan bi qasî ku hûn dixwazin.

    Wek planek xuya dike? Werin em biceribînin ku wê di pratîkê de bicîh bikin!

    Peydakirina daneya Excel bi karanîna bêjeyên birêkûpêk ên xwerû

    Vê nimûne behsa bûyerek pir gelemperî dike - meriv çawa tenê nirxên nimûneyek taybetî destûr dide.

    0> Bifikirin ku hûn hin kodên SKU di pelgeya xebata xwe de digirin û dixwazin pê ewle bin ku tenê kodên ku bi şêwazek diyarkirî re têkildar dibin di navnîşê de bin. Bi şertê ku her SKU ji 2 komên tîpan pêk were ku bi defekê veqetandî ne, koma yekem ji 3 tîpên mezin û koma duyemîn - 3 reqeman pêk tê, hûn dikarin van nirxan bi karanîna regeksa jêrîn nas bikin.

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

    Ji kerema xwe bala xwe bidin ku destpêk (^) û dawiya ($) ya rêzê pêvekirî ne, ji ber vê yekê ji bilî tîpan ti tîpên din tune şablon dikare di şaneyek de were nivîsandin.

    1. Fonksiyonek Regex Match-a xwerû lê zêde bike

    Bi xistina fonksiyona RegExpMatch di pirtûka xwe de dest pê bike. Kod jixwe ji hêla gurusên me yên Excel ve hatî nivîsandin, ji ber vê yekê hûn tenê hewce ne ku wê ji rûpela jorîn-girêdayî kopî bikin û li edîtorê VBA-ya xwe bixin.

    Li vir hevoksaziya fonksiyonê ji bo referansa we heye:

    RegExpMatch(text , şablon, [match_case])

    Li ku:

    • Nivîs (pêdivî ye) - rêzika çavkanî (di çarçoveya me de - şaneyek pejirandî).
    • Şablon (pêdivî ye) - ravekeke rêkûpêk ku lihevhatin.
    • Civa_hevberdanê (vebijarkî) - cureya hevgirtinê. RAST an jêbirin - rewş-pêketî; DEWLET - nehesasiye.

    Tip. Heke hûn bikarhênerek Suite Ultimate me ne, wê hingê hûn dikarin Verastkirina Daneyên Regex li Excel-ê bêyî ku kodek VBA li pirtûkên xebata xwe zêde bikin bikin. Tenê fonksiyonek xwerû ya AblebitsRegexMatch ku di nav Amûrên me yên Regex de heye bikar bînin.

    2. Formulek binavkirî biafirînin

    Di kargeha xweya armancê de, hucreya A1 hilbijêrin (bi naveroka wê û ferq nake hûn ê kîjan şaneyê bi rastî rast bikin), bikirtînin Ctrl + F3 da ku Rêvebirê Navê vekin, û navek diyar bikin. ji bo vê formulê:

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

    An jî hûn dikarin di hin şaneyê de regeksê têkevin (di vê nimûneyê de A2) û $A$2 bidin argumana duyemîn:

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

    Ji bo ku formula rast bixebite, ji bo argumana text (A1) referansek têkildar û ji bo pattern ($A$2) referansek têkildar bikar bînin.

    Ji ber ku formula me ji bo pejirandina hejmarên SKU tê armanc kirin, em li gorî wê nav dikin: Validate_SKU .

    Nîşeya girîng! Dema diyarkirina formulê, ji kerema xwe dûbare kontrol bikin ku argumana yekem şaneya niha hilbijartî ye , wekî din formula wê nexebite. Mînakî, heke hucreya A1 li ser pelê were hilbijartin, A1 têxe argumana yekem (li gorî pêşniyarên me); heke B2 were hilbijartin, wê hingê ji bo argumana yekem B2 bikar bînin, û wusa yek. Bi rastî ne girîng e ku hûn kîjan referansa taybetî bikar tînin heya ku ew bi şaneya niha hilbijartî re têkildar be.

    Ji bo gav-bi-gavtalîmatan, ji kerema xwe binihêrin Meriv çawa di Excel de formulayek binavkirî çêdike.

    3. Verastkirina Daneyan saz bikin

    Xaneya yekem a ku were kontrol kirin hilbijêrin (di rewşa me de A5) û li gorî formula binavkirî qaîdeyek pejirandina daneya xwerû çêbikin. Ji bo vê yekê, van tiştan bikin:

    1. Bikirtînin Daneyên tabê > Perastkirina daneyan .
    2. Di Destûrê de lîsteya daketî, Custom hilbijêre.
    3. Formula jêrîn di qutika peywendîdar de binivîse.

      =Validate_SKU

    4. Vebijarka Bala paşguh neke ranebe, wekî din qaîdeya te wê nexebite.

    Bi bijare, tu dikarî binivîsî peyamek xeletiya xwerû ya ku dema ku daneya nederbasdar di hucreyekê de têkevin tê xuyang kirin.

    Heke hûn hîs dikin ku hûn hewceyê gavên hûrgulî ne, li vir hûn diçin: Meriv çawa Verastkirina Daneyên xwerû li Excel saz dike.

    4. Verastkirina Daneyan li şaneyên din kopî bikin

    Ji bo kopîkirina mîhengên erêkirinê li hucreyên zêdetir, tiştê ku divê hûn bikin ev e:

    1. Hûna bi erêkirina daneyê hilbijêrin û Ctrl + C bikirtînin da ku wê kopî bikin.
    2. Haneyên din ên ku hûn dixwazin rast bikin hilbijêrin, wan rast-klîk bikin, bikirtînin Paste Taybet , û vebijarka Rastkirin hilbijêrin.
    3. Bikirtînin OK .

    Zêdetir agahdarî dikarin li Meriv çawa Verastkirina Daneyê kopî bikin.

    Niha, her carê ku kesek hewl dide ku di yek ji hucreyên pejirandî de SKU-ya nederbasdar bikeve, jêrîn peyama hişyariyê dê xuya bibe:

    Peydakirina e-nameyê bi Regex re

    Ji bo ku erêkirina e-nameyê pêk bîne, hûn dest pê dikinbi nivîsandina vegotineke rêkûpêk ku bi navnîşana e-nameyê re li hev dike.

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

    Ji bo ravekirina berfireh a hevoksaziyê, ji kerema xwe Binêre Regex ku navnîşanên e-nameyên derbasdar li hev bike.

    Û niha, bi pêkanîna gavên jixwe naskirî pîvanên erêkirinê diyar bikin:

    1. Regeksa jorîn di B2 de têkevin.
    2. Hucreya A1 hilbijêrin û navek bi navê Validate_Email diyar bikin ku ev tê de vedibêje:

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

    3. Ji bo şaneya B5, bi karanîna formula jêrîn Verastkirina Daneyên xwerû bicîh bikin. Pêdivî ye ku vebijarka Bala paşguh neke neyê hilbijartin.

      =Validate_Email

      Wekî din, hûn dikarin peyamek xeletiyek xwerû mîheng bikin ku ji bikarhêner dixwaze navnîşanek e-nameyek derbasdar têkeve.

    4. Qanûnê li şaneyên jêrîn kopî bikin.

    Heke navnîşana e-nameya ku hûn di şaneyek pejirandî de dinivîsin bi şêwaza regeksê re li hev nayê, hişyariya jêrîn dê xuya dike:

    Perastkirina şîfreyan bi karanîna bêjeyên birêkûpêk

    Dema ku regex ji bo pejirandina şîfreyê bikar tînin, yekem tiştê ku meriv biryar dide ev e ku bi rastî divê îfadeya weya birêkûpêk çi kontrol bike. Li vir çend nimûne hene ku dibe ku hûn li ser riya rast bidin.

    Şîfreyek divê herî kêm 6 tîpan be û tenê tîpan (herfên mezin an biçûk) û reqeman pêk bîne:

    Nimûne : ^[A-Za-z0-9]{6,}$

    Divê şîfreyek herî kêm 6 tîpan dirêj be û herî kêm yek herfek û tê de hebe.yek reqem:

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

    Divê şîfreyek ji 6 tîpan kêm be û herî kêm tîpek mezin, yek tîpek piçûk û yek reqeman tê de hebe:

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

    Divê şîfreyek kêm ji 6 tîpan be dirêj e û bi kêmanî yek tîp, yek jimar û yek tîpek taybetî tê de:

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

    Ligel ku qalibê hatî damezrandin, hûn dikarin ber bi sazkirina Rastkirina Daneyan ve biçin:

    1. Regex şîfreya xwe di C2-ê de binivîsin.
    2. Hûna A1 hilbijêrin û bi navê formulek bi navê ava bikin. Validate_Password :

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

    3. Ji bo hucreya C5, bi formula jêrîn qaîdeyek pejirandina xwerû biafirîne. Bînin bîra xwe ku hûn qutiya kontrolê ya Bala paşguh neke nehilbijêrin.

      =Validate_Password

    4. Qanûnê li çend şaneyan kopî bikin.

    Niha, hûn dikarin bi ewlehî şîfreyên nû li lîsteyê zêde bikin. Heke rêzikek têketinê bi regexê re negire, hişyariya jêrîn dê bîne bîra we ku çi cûreyên nirxan têne pejirandin:

    Verastkirina Daneyên Regex nexebite

    Heke Rastkirina Daneyên Regex di Excel we de nexebite , bi îhtîmaleke mezin ji ber yek ji sedemên jêrîn e.

    Fonksiyon RegExpMatch wenda ye

    Berî sepandina Verastkirina Daneyan, bê guman koda fonksiyona RegExpMatch têxe pirtûka xwe ya xebatê.

    12>Rastî nerastîfade

    Ji bo ku hûn pê ewle bin ku regexa we wekî ku tê hêvî kirin dixebite, hûn dikarin formula RegExpMatch di hin hucreyê de têkevin û encaman bikolin. Ji bo bêtir agahdarî, ji kerema xwe binerin Excel Lihevhatina birêkûpêk bi mînakan re.

    Ji bo vekolîn û xeletkirina bêjeyên xwe yên birêkûpêk, hûn dikarin karûbarên ceribandina regexê serhêl ên belaş ên wekî RegEx101 an RegExr bikar bînin.

    Formula bi navê xelet

    Sedemek pir gelemperî ya têkçûna pejirandina daneyê formulakek bi navê Regex e ku behsa şaneyek xelet dike. Di hemî mînakan de, me pêşniyar kir ku em formulayek ku ji A1 re vedibêje diyar bikin:

    =RegExpMatch(A1, regex)

    Ev tenê kar dike ger şaneya A1 çalak be dema ku navek û navek diyar dike û referansa nisbî (bêyî nîşana $) tê bikaranîn.

    Fikir ev e ku referansa têkildar a ku di formula (A1) de hatî destnîşan kirin dê bixweber li gorî pozîsyona têkildar a şaneya pejirandî biguhere. Bi gotinek din, hucreya A1 tenê ji bo rehetî û hevgirtî tê hilbijartin. Bi rastî, hûn dikarin hucreya B1 hilbijêrin û serî li B1 bidin, hucreya C1 hilbijêrin û li C1 binihêrin, û hwd. Ya sereke ev e ku hucreya referanskirî divê hucreya çalak be.

    Ji bo kontrol bikin ka formula weya navê we rast e, di pelgeya xebata xwe de şaneyek hilbijêrin, vekin Navê Rêvebir, û bibînin ka formula li kîjan şaneyê nîşan dide. Ger ew şaneya niha hilbijartî vedibêje, formula rast e. Wekî din, divê hûn di argumana yekem de referansê biguherînin.

    Di dîmenê deli jêr, hucreya A7 tê hilbijartin, tê vê wateyê ku formula binavkirî divê di argumana yekem de A7 hebe. Argumana duyemîn ($A$2) behsa regeksê dike - ev referans tê xwestin ku domdar bimîne, ji ber vê yekê ew bi nîşana $ tê girtin.

    Vebijarka vala paşguh neke hilbijartî

    Dema ku qaîdeyek Verastkirina Daneyên xwerû saz bike, girîng e ku qutika Bala paşguh neke hilbijêrî. Wekî din, rêgez ji ber sedemek jêrîn naxebite:

    Heke hevberek neyê dîtin, fonksiyona RegExpMatch FALSE vedigerîne. Bi vebijarka Bala paşguh neke vebijarkî, FALSE wekî vala ye û tê paşguhkirin.

    Çareseriyek alternatîf bi eşkere diyar dike ku divê formula TRUE vegere:

    =RegExpMatch(…)=TRUE

    Bi vî rengî meriv bi karanîna bêjeyên birêkûpêk verastkirina daneyan di Excel de dike. Ji bo xwendinê ez spasiya te dikim û hêvî dikim ku hefteya pêş me te li ser bloga xwe bibînim!

    Pirtûka xebatê ya ji bo daxistinê pratîk bike

    Nimûneyên Rastkirina Daneyên Regex (pelê xlsm)

    Michael Brown dilxwazek teknolojiyê ya dilsoz e ku bi hewesek hêsankirina pêvajoyên tevlihev bi karanîna amûrên nermalavê ye. Bi zêdetirî deh salan ezmûnek di pîşesaziya teknolojiyê de, wî jêhatîbûna xwe di Microsoft Excel û Outlook, û her weha Google Sheets û Docs de pêş xist. Bloga Michael ji bo parvekirina zanyarî û pisporiya xwe bi kesên din re veqetandî ye, ji bo baştirkirina hilberî û karîgeriyê serişte û dersên hêsan-şopandinê peyda dike. Çi hûn pisporek demsalî ne an jî destpêkek in, bloga Michael ji bo ku hûn herî zêde ji van amûrên nermalava bingehîn sûd werbigirin, têgihiştinên hêja û şîretên pratîkî pêşkêşî dike.