مەزمۇن جەدۋىلى
دەرسلىكتە ئىختىيارى RegexMatch ئىقتىدارىنىڭ ياردىمىدە دائىملىق ئىپادىلەش ئارقىلىق Excel دا سانلىق مەلۇمات دەلىللەشنى قانداق قىلىش كۆرسىتىلدى. كەم بولسا بولمايدۇ. مەلۇم كاتەكچىدە پەقەت سان ياكى چېسلاغىلا رۇخسەت قىلامسىز؟ ياكى تېكىست قىممىتىنى مەلۇم ئۇزۇنلۇق بىلەن چەكلەڭمۇ؟ ياكى مەلۇم دائىرىنىڭ سىرتىدىكى ۋاقىتنى رەت قىلىشى مۇمكىن؟ چاتاق يوق ، بۇلارنىڭ ھەممىسىنى ئالدىن بېكىتىلگەن ياكى ئىختىيارى دەلىللەش ئۆلچىمى بىلەن ئاسانلا قىلغىلى بولىدۇ. ئەمما مەن پەقەت مەلۇم بىر قېلىپقا ماس كېلىدىغان ئۈنۈملۈك ئېلېكترونلۇق خەت ئادرېسى ياكى تىزمىلارغا يول قويماقچى بولسامچۇ؟ ئالايلۇق ، بۇ مۇمكىن ئەمەس. Regex you say? Hmm… بەلكىم ئىشلىشى مۇمكىن! بۇنىڭدىن مۇستەسنا. دائىملىق ئىپادىلەش ئارقىلىق كاتەكچە كىرگۈزۈشنى دەلىللەش ئۈچۈن ، ئالدى بىلەن ئىختىيارى Regex ئىقتىدارىنى قۇرۇشىڭىز كېرەك. يەنە بىر مۇرەككەپ مەسىلە شۇكى ، VBA ئىشلەتكۈچى بەلگىلىگەن ئىقتىدارلار سانلىق مەلۇماتنى دەلىللەشكە بىۋاسىتە يەتكۈزۈلمەيدۇ - سىز ئىسىملىك فورمۇلا شەكلىدە ۋاسىتىچىگە ئېھتىياجلىق بولىسىز.
يۇقىرىقىلارنى ئويلاشقاندا ، تاشلىنىدىغان قەدەملەرنى قىسقىچە بايان قىلىپ ئۆتەيلى. Excel دىكى سانلىق مەلۇماتلارنى regexes ئارقىلىق دەلىللەش:
- ئىختىيارى Regex ئىقتىدارىنى قۇرۇپ ، كىرگۈزۈش قىممىتىنىڭ دائىملىق ئىپادىگە ماس كېلىدىغان-كەلمەيدىغانلىقىنى تەكشۈرىدۇ.
- ئىسىملىك فورمۇلاغا ئاساسەن سانلىق مەلۇمات دەلىللەش قائىدىسىنى سەپلەڭ.
- كۆچۈرۈڭخالىغان تەڭشەكلەرنى دەلىللەش تەڭشىكى.
پىلانغا ئوخشامدۇ؟ ئۇنى ئەمەلىيەتتە ئەمەلىيلەشتۈرۈشكە تىرىشىمىز! 0> ئەگەر سىز بىر قىسىم SKU كودلىرىنى خىزمەت جەدۋىلىڭىزدە ساقلىسىڭىز ھەمدە پەقەت مەلۇم بىر قېلىپقا ماس كېلىدىغان كودلارنىڭلا تىزىملىككە كىرىدىغانلىقىنى جەزملەشتۈرمەكچى. ھەر بىر SKU ھەرپ بىلەن ئايرىلغان 2 گۇرۇپپىدىن تەركىب تاپقان بولسا ، بىرىنچى گۇرۇپپىدا 3 چوڭ ھەرپ ، ئىككىنچى گۇرۇپپا - 3 خانىدىن تەركىب تاپقان بولسا ، تۆۋەندىكى قىممەتلەرنى ئىشلىتىپ بۇ قىممەتلەرنى پەرقلەندۈرەلەيسىز.
ئۈلگە> ئەندىزە كاتەكچىگە كىرگۈزۈلسە بولىدۇ.
1. ئىختىيارى Regex ماسلاشتۇرۇش ئىقتىدارىنى قوشۇڭ
خىزمەت دەپتىرىڭىزگە RegExpMatch ئىقتىدارىنى قىستۇرۇشتىن باشلاڭ. بۇ كود ئاللىقاچان Excel ئۇستازلىرىمىز تەرىپىدىن يېزىلغان ، شۇڭا ئۇنى يۇقارقى ئۇلانغان بەتتىن كۆچۈرۈپ ، VBA تەھرىرىڭىزگە چاپلاڭ.
بۇ ئىقتىدارنىڭ گرامماتىكىسى: پايدىلىنىشىڭىز ئۈچۈن: ، ئەندىزە ، [match_case])
قەيەردە:> ئەندىزە (تەلەپ قىلىنىدۇ) - ماس كېلىدىغان دائىملىق ئىپادىلەش. راست ياكى ئەمەلدىن قالدۇرۇلدى - ئەھۋال-سەزگۈر يالغان - ئەھۋالغا سەزگۈر ئەمەس.
كۆرسەتمە. ئەگەر سىز بىزنىڭ Ultimate Suite نىڭ ئىشلەتكۈچى بولسىڭىز ، ئۇنداقتا خىزمەت دەپتىرىڭىزگە ھېچقانداق VBA كودى قوشماي Excel دا Regex سانلىق مەلۇمات دەلىللەشنى قىلالايسىز. بىزنىڭ Regex قوراللىرىمىزنى ئۆز ئىچىگە ئالغان ئىختىيارى AblebitsRegexMatch ئىقتىدارىنى ئىشلىتىڭ.
2. نىشانلىق خىزمەت جەدۋىلىدە ئىسىملىك فورمۇلا قۇرۇڭ ، A1 كاتەكچىسىنى تاللاڭ (ئۇنىڭ مەزمۇنىنىڭ قانداق بولۇشىدىن قەتئىينەزەر ، سىز قايسى كاتەكچىنى دەلىللىمەكچى بولۇشىڭىزدىن قەتئىينەزەر) ، Ctrl + F3 نى بېسىپ ئىسىم باشقۇرغۇچىنى ئېچىڭ ۋە ئىسىمنى ئېنىقلاڭ. بۇ فورمۇلا ئۈچۈن:
=RegExpMatch(Sheet1!A1, "^[A-Z]{3}-\d{3}$")
ياكى سىز بەزى كاتەكچىگە regex نى كىرگۈزەلەيسىز (بۇ مىسالدىكى A2) ۋە ئىككىنچى تالاش-تارتىش ئۈچۈن $ 2 $ بىلەن تەمىنلىيەلەيسىز:
=RegExpMatch(Sheet1!A1, Sheet1!$A$2)
فورمۇلانىڭ نورمال ئىشلىشى ئۈچۈن ، تېكىست تالاش-تارتىش (A1) ئۈچۈن نىسپىي پايدىلىنىشنى ۋە ئەندىزە ($ A $ 2) ئۈچۈن مۇتلەق پايدىلىنىشنى ئىشلىتىڭ. 3>
فورمۇلامىزنىڭ SKU نومۇرىنى دەلىللەش ئۈچۈن مەقسەت قىلىنغانلىقىنى كۆزدە تۇتۇپ ، بىز ئۇنىڭغا ماس ھالدا ئىسىم قويدۇق: Validate_SKU .
مۇھىم ئەسكەرتىش! فورمۇلانى ئېنىقلىغاندا ، بىرىنچى تالاش-تارتىشنىڭ ھازىر تاللانغان كاتەكچىنى كۆرسىتىدۇ دەپ قايتا تەكشۈرۈپ بېقىڭ ، بولمىسا فورمۇلا ئىشلىمەيدۇ. مەسىلەن ، جەدۋەلدە A1 كاتەكچىسى تاللانغان بولسا ، A1 نى بىرىنچى تالاش-تارتىشقا قويۇڭ (تەۋسىيەمىزگە ئاساسەن) ئەگەر B2 تاللانغان بولسا ، بىرىنچى تالاش-تارتىش ئۈچۈن B2 نى ئىشلىتىڭ. نۆۋەتتىكى تاللانغان كاتەكچىگە ماس كەلسىلا قايسى ئالاھىدە پايدىلىنىشنى ئىشلىتىشىڭىز مۇھىم ئەمەس.
باسقۇچلۇقكۆرسەتمىلەرنى Excel دا قانداق قىلىپ فورمۇلا ياساشنى كۆرۈڭ.
3. سانلىق مەلۇمات دەلىللەشنى تەڭشەڭ
تەكشۈرۈلگەن تۇنجى كاتەكچىنى تاللاڭ (بىزنىڭ ئەھۋالدا A5) ۋە ئىسىم قويۇلغان فورمۇلاغا ئاساسەن سانلىق مەلۇمات دەلىللەش قائىدىسىنى تۈزۈڭ. بۇنىڭ ئۈچۈن تۆۋەندىكى ئىشلارنى قىلىڭ:
- سانلىق مەلۇمات بەتكۈچ & gt; سانلىق مەلۇماتنى دەلىللەش نى بېسىڭ.
- > ئېسىلما تىزىملىك ، ئىختىيارى نى تاللاڭ.
- ماس رامكىغا تۆۋەندىكى فورمۇلانى كىرگۈزۈڭ.
=Validate_SKU
- بوش تاللاشنى نەزەردىن ساقىت قىلىڭ ، بولمىسا سىزنىڭ قائىدىڭىز كارغا كەلمەيدۇ.
كاتەكچىگە ئىناۋەتسىز سانلىق مەلۇمات كىرگۈزۈلگەندە كۆرسىتىلىدىغان ئىختىيارى خاتالىق ئۇچۇرى. ئەگەر سىز ئىنچىكە قەدەم باسقۇچلارغا ئېھتىياجلىقدەك ھېس قىلسىڭىز ، بۇ يەرگە بارىسىز: Excel دا قانداق قىلىپ سانلىق مەلۇمات دەلىللەشنى تەڭشەش كېرەك.
4. سانلىق مەلۇمات دەلىللەشنى تېخىمۇ كۆپ كاتەكچىلەرگە كۆچۈرۈڭ
دەلىللەش تەڭشەكلىرىنى تېخىمۇ كۆپ كاتەكچىلەرگە كۆچۈرۈش ئۈچۈن ، سىز قىلىشقا تېگىشلىك ئىش:
- سانلىق مەلۇمات دەلىللەش ئارقىلىق كاتەكچىنى تاللاڭ ۋە Ctrl + C نى بېسىڭ ئۇنى كۆچۈرۈڭ. بولىدۇ نى چېكىڭ.
سانلىق مەلۇمات دەلىللەشنى قانداق كۆپەيتىشتىن تېخىمۇ كۆپ ئۇچۇرلارنى تاپقىلى بولىدۇ. ئاگاھلاندۇرۇش ئۇچۇرى كۆرۈنىدۇ:
Regex بىلەن ئېلېكترونلۇق خەت دەلىللەش
ئېلېكترونلۇق خەتنى دەلىللەش ئۈچۈن باشلايسىزئېلېكترونلۇق خەت ئادرېسىغا ماس كېلىدىغان دائىملىق ئىپادىلەش بىلەن.
ئەندىزە : ^ [\ w \. \ -] + @ [A-Za-z0-9] + [A-Za -z0-9 \. \ -] * [A-Za-z0-9] + \. ئىناۋەتلىك ئېلېكترونلۇق خەت ئادرېسىغا ماسلىشىش ئۈچۈن Regex نى كۆرۈڭ. A1 كاتەكچىسىنى تاللاڭ ۋە Validate_Email دەپ ئاتىلىدىغان ئىسىمغا ئېنىقلىما بېرىڭ:
=RegExpMatch(Sheet1!A1, Sheet1!$B$2)
B5 كاتەكچىسى ئۈچۈن تۆۋەندىكى فورمۇلا ئارقىلىق سانلىق مەلۇمات دەلىللەشنى ئىشلىتىڭ. بوش پەرۋاسىز تاللاشنى تاللىماسلىق ئىنتايىن مۇھىم. =Validate_Email
بۇنىڭدىن باشقا ، ئىشلەتكۈچىنىڭ ئېلېكترونلۇق خەت ئادرېسىنى كىرگۈزۈشىنى تەلەپ قىلىدىغان ئىختىيارى خاتالىق ئۇچۇرىنى تەڭشىيەلەيسىز.
قائىدىنى تۆۋەندىكى كاتەكچىلەرگە كۆچۈرۈڭ. سەكرەش: دائىملىق ئىپادىلەش ئارقىلىق پارولنى دەلىللەش
پارولنى دەلىللەش ئۈچۈن regex نى ئىشلەتكەندە ، ئالدى بىلەن قارار چىقىرىشىڭىز دائىملىق ئىپادىڭىزنىڭ تەكشۈرۈشى كېرەك. بۇ يەردە سىزنى توغرا يولغا باشلايدىغان بىر قانچە مىسال بار. ئەندىزە
: ^ [A-Za-z0-9] {6,} $
=RegExpMatch(Sheet1!A1, "^[A-Z]{3}-\d{3}$")
=RegExpMatch(Sheet1!A1, Sheet1!$A$2)
=Validate_SKU
=RegExpMatch(Sheet1!A1, Sheet1!$B$2)
=Validate_Email
بۇنىڭدىن باشقا ، ئىشلەتكۈچىنىڭ ئېلېكترونلۇق خەت ئادرېسىنى كىرگۈزۈشىنى تەلەپ قىلىدىغان ئىختىيارى خاتالىق ئۇچۇرىنى تەڭشىيەلەيسىز.
دائىملىق ئىپادىلەش ئارقىلىق پارولنى دەلىللەش
پارولنى دەلىللەش ئۈچۈن regex نى ئىشلەتكەندە ، ئالدى بىلەن قارار چىقىرىشىڭىز دائىملىق ئىپادىڭىزنىڭ تەكشۈرۈشى كېرەك. بۇ يەردە سىزنى توغرا يولغا باشلايدىغان بىر قانچە مىسال بار. ئەندىزە
پارولنىڭ ئۇزۇنلۇقى ئەڭ ئاز بولغاندا 6 ھەرپ بولۇشى ھەمدە كەم دېگەندە بىر ھەرپنى ئۆز ئىچىگە ئېلىشى كېرەك.بىر سان:
ئەندىزە : ^ (? =. * [A-Za-z]) (? =. * \ d) [A-Za-z \ d] {6 ،} $
پارول چوقۇم ئەڭ ئاز بولغاندا 6 ھەرپ بولۇشى ھەمدە كەم دېگەندە بىر چوڭ ھەرپ ، بىر كىچىك ھەرپ ۋە بىر خانىنى ئۆز ئىچىگە ئېلىشى كېرەك:
ئەندىزە : ^ (? = . * [A-Z]) (? =. * [A-z]) (? =. * \ D) [A-Za-z \ d] {6, <$ ئۇزۇن ۋە كەم دېگەندە بىر ھەرپ ، بىر خانىلىق ۋە بىر ئالاھىدە ھەرپنى ئۆز ئىچىگە ئالىدۇ:
ئەندىزە : ^ (? =. * [A-Za-z]) (? =. * \ d ) (? =. * [@ $!% * #? & amp; _-]) [A-Za-z \ d @ $!% * #? & amp; _-] {6,} $
ئەندىزە ئورنىتىلغاندىن كېيىن ، سانلىق مەلۇمات دەلىللەشنى تەڭشەشكە يۆتكىلەلەيسىز:
- پارول نومۇرىڭىزنى C2 گە كىرگۈزۈڭ.
- A1 كاتەكچىسىنى تاللاڭ ۋە دەپ ئاتىلىدىغان فورمۇلا قۇرالايسىز. Validate_Password :
=RegExpMatch(Sheet1!A1, Sheet1!$C$2)
- C5 كاتەكچىسى ئۈچۈن تۆۋەندىكى فورمۇلا بىلەن ئىختىيارى دەلىللەش قائىدىسىنى تۈزۈڭ. بوش تەكشۈرۈش رامكىسىنى تاللىماسلىقنى ئۇنتۇپ قالماڭ.
=Validate_Password
- قائىدىنى خالىغانچە كۆپەيتىڭ.
ھازىر ، بۇ تىزىملىككە بىخەتەر ھالدا يېڭى پارول قوشالايسىز. ئەگەر كىرگۈزۈش تىزمىسى regex بىلەن ماس كەلمىسە ، تۆۋەندىكى ئاگاھلاندۇرۇش سىزگە قانداق قىممەتلەرنىڭ قوبۇل قىلىنغانلىقىنى ئەسكەرتىدۇ:
Regex سانلىق مەلۇمات دەلىللەش ئىشلىمەيدۇ
ئەگەر Excel دا Regex سانلىق مەلۇمات دەلىللەش ئىشلىمىسە بەلكىم بۇ تۆۋەندىكى سەۋەبلەرنىڭ بىرى بولۇشى مۇمكىن.
RegExpMatch ئىقتىدارى يوقاپ كەتتى 12> قەرەللىك خاتائىپادىلەش
regex نىڭ كۈتكەندەك ئىشلەيدىغانلىقىنى جەزملەشتۈرۈش ئۈچۈن ، بەزى كاتەكچىلەرگە RegExpMatch فورمۇلا كىرگۈزۈپ نەتىجىنى تەكشۈرەلەيسىز. تېخىمۇ كۆپ ئۇچۇرغا ئېرىشمەكچى بولسىڭىز ، Excel دائىملىق ئىپادىلەشنىڭ مىساللار بىلەن ماس كېلىدىغانلىقىنى كۆرۈڭ.
سانلىق مەلۇمات دەلىللەش مەغلۇب بولۇشنىڭ ناھايىتى كۆپ ئۇچرايدىغان سەۋەبى خاتا كاتەكچىنى كۆرسىتىدۇ. بارلىق مىساللاردا ، بىز A1 غا مۇناسىۋەتلىك فورمۇلانى ئېنىقلاشنى تەۋسىيە قىلدۇق:
=RegExpMatch(A1, regex)
بۇ پەقەت ئىسىم ۋە <15 نى ئېنىقلىغاندا A1 كاتەكچىسى ئاكتىپ بولغاندىلا ئىشلەيدۇ> نىسپىي پايدىلىنىش ($ بەلگىسى بولمىسا) ئىشلىتىلىدۇ.
ئىدىيە (A1) فورمۇلادا كۆرسىتىلگەن نىسپىي پايدىلىنىش ئىناۋەتلىك كاتەكچىنىڭ نىسپىي ئورنىغا ئاساسەن ئاپتوماتىك ئۆزگىرىدۇ. باشقىچە ئېيتقاندا ، A1 كاتەكچىسى پەقەت قۇلايلىق ۋە ئىزچىللىق ئۈچۈنلا تاللانغان. ئەمەلىيەتتە ، سىز B1 كاتەكچىسىنى تاللاپ B1 نى ، C1 كاتەكچىسىنى تاللاپ C1 نى كۆرسەتسىڭىز بولىدۇ. مۇھىمى شۇكى ، پايدىلانغان كاتەكچى ئاكتىپ كاتەكچى بولۇشى كېرەك. ئىسىم باشقۇرغۇچى ، ھەمدە فورمۇلانىڭ قايسى كاتەكچىنى كۆرسىتىدىغانلىقىنى كۆرۈڭ. ئەگەر ئۇ ھازىر تاللانغان كاتەكچىنى كۆرسەتسە ، فورمۇلا توغرا. بولمىسا ، بىرىنچى تالاش-تارتىشتىكى پايدىلىنىشنى ئۆزگەرتىشىڭىز كېرەك.
ئېكران كۆرۈنۈشىدەتۆۋەندە ، A7 كاتەكچىسى تاللانغان ، يەنى بىرىنچى تالاش-تارتىشتا ئىسمى بار فورمۇلا A7 بولۇشى كېرەك. ئىككىنچى تالاش-تارتىش ($ A $ 2) regex نى كۆرسىتىدۇ - بۇ پايدىلانما تۇراقلىق ھالەتتە ساقلىنىشى كېرەك ، شۇڭا ئۇ $ بەلگىسى بىلەن قۇلۇپلانغان.
تاللانغان قۇرۇق تاللاشقا پەرۋا قىلماڭ
ئىختىيارى سانلىق مەلۇمات دەلىللەش قائىدىسىنى تەڭشىگەندە ، بوش تەكشۈرۈش رامكىسىنى تاللىماسلىق كېرەك. بولمىسا ، تۆۋەندىكى سەۋەبلەر تۈپەيلىدىن بۇ قائىدە ئۈنۈم بەرمەيدۇ:
ئەگەر ماس تېپىلمىسا ، RegExpMatch ئىقتىدارى يالغاننى قايتۇرىدۇ. بوش تاللاشنى تاللىماسلىق بىلەن ، يالغان قۇرۇق بىلەن باراۋەر بولۇپ ، ئېتىبارغا ئېلىنمايدۇ.
دائىملىق ئىپادىلەش ئارقىلىق Excel دا سانلىق مەلۇمات دەلىللەشنى قانداق قىلىش كېرەك. ئوقۇغانلىقىڭىزغا رەھمەت ، كېلەر ھەپتە بىلوگىمىزدا كۆرۈشنى ئۈمىد قىلىمەن!>