د ایکسل ډیټا اعتبار د منظم بیانونو په کارولو سره (Regex)

  • دا شریک کړه
Michael Brown

ټیوټوریل ښیې چې څنګه په Excel کې د ډیټا تصدیق کول د دودیز RegexMatch فنکشن په مرسته د منظم بیانونو په کارولو سره ترسره کیږي.

کله چې دا په Excel ورک شیټونو کې د کارونکي ننوتلو محدودولو خبره راځي ، د ډیټا اعتبار اړین دی. غواړئ په ورکړل شوي حجره کې یوازې شمیرو یا نیټو ته اجازه ورکړئ؟ یا د متن ارزښتونه یو ځانګړي اوږدوالی ته محدود کړئ؟ یا شاید د ورکړل شوي حد څخه بهر وختونه منع کړئ؟ کومه ستونزه نده، دا ټول په اسانۍ سره د مخکینۍ یا دودیز تایید معیارونو سره ترسره کیدی شي. مګر څه که زه غواړم یوازې معتبر بریښنالیک پتې یا تارونو ته اجازه ورکړم چې د ځانګړي نمونې سره سمون لري؟ افسوس، دا ممکنه نه ده. Regex تاسو وایی؟ هوم… دا ممکن کار وکړي!

    د Regex سره د ایکسل ډیټا تایید کولو څرنګوالی

    په خواشینۍ سره ، هیڅ یو جوړ شوی Excel فیچر د ریجیکس ملاتړ نه کوي ، او د ډیټا تصدیق هیڅ ندی استثنا د دې لپاره چې د منظم بیانونو په کارولو سره د سیل ان پټ تصدیق کولو وړ اوسئ ، تاسو اړتیا لرئ لومړی د ګمرک ریجیکس فنکشن رامینځته کړئ. بله پیچلتیا دا ده چې د VBA کارونکي لخوا ټاکل شوي دندې په مستقیم ډول د ډیټا تایید ته نشي ورکول کیدی - تاسو به د نوم شوي فارمول په توګه منځګړیتوب ته اړتیا ولرئ.

    پورتنۍ په پام کې نیولو سره، راځئ چې په لنډه توګه هغه ګامونه په ګوته کړو چې باید ترسره شي. د ریجیکس په کارولو سره په Excel کې د معلوماتو تصدیق کولو لپاره:

    1. د ګمرکي ریجیکس فنکشن رامینځته کړئ چې دا وګوري چې ایا د ننوتلو ارزښت د منظم بیان سره سمون لري.
    2. د خپل ریجیکس فارمول لپاره نوم تعریف کړئ.
    3. د نومول شوي فورمول پراساس د ډیټا تصدیق کولو قواعد تنظیم کړئ.
    4. کاپي کړئڅومره حجرو ته چې تاسو یې غواړئ د تایید تنظیمات.

    د پلان په څیر ښکاري؟ راځئ هڅه وکړو چې دا په عمل کې پلي کړو!

    د دودیز منظم بیانونو په کارولو سره د ایکسل ډیټا تایید

    دا مثال یو ډیر عام قضیه په ګوته کوي - څنګه یوازې د ځانګړي نمونې ارزښتونو ته اجازه ورکول کیږي.

    فرض کړئ چې تاسو په خپل کاري پاڼه کې د SKU ځینې کوډونه وساتئ او غواړئ ډاډ ترلاسه کړئ چې یوازې هغه کوډونه چې د ورکړل شوي نمونې سره سمون لري په لیست کې راځي. په دې شرط چې هر SKU د حروفونو له 2 ګروپونو څخه جوړه وي چې د هایفین سره جلا شوي وي، لومړۍ ډله د 3 لوی لیکونو په شمول او دوهم ګروپ - 3 عددونه، تاسو کولی شئ دا ډول ارزښتونه د لاندې ریجیکس په کارولو سره وپیژنئ.

    پټن : ^[A-Z]{3}-\d{3}$

    مهرباني وکړئ په پام کې ونیسئ چې د تار پیل (^) او پای ($) لنگر شوی دی، نو پرته له دې چې هیڅ حروف نه وي نمونه په حجره کې داخل کیدی شي.

    1. د دودیز Regex میچ فنکشن اضافه کړئ

    په خپل کاري کتاب کې د RegExpMatch فنکشن داخلولو سره پیل کړئ. کوډ لا دمخه زموږ د ایکسل گرو لخوا لیکل شوی ، نو تاسو اړتیا لرئ دا د پورتنۍ لینک شوي پا pageې څخه کاپي کړئ او په خپل VBA مدیر کې یې پیسټ کړئ.

    دلته ستاسو د حوالې لپاره د فنکشن ترکیب دی:

    RegExpMatch(متن , pattern, [match_case])

    چیرته:

    • متن (اړین دی) - د سرچینې تار (زموږ په شرایطو کې - یو تایید شوی حجره).
    • پټرن (اړین) - د میچ کولو لپاره منظم بیان.
    • Match_case (اختیاري) - د میچ ډول. ریښتیا یا پریښودل - قضیه-حساس غلط - د قضیې غیر حساس.

    لارښوونه. که تاسو زموږ د الټیمیټ سویټ کارونکي یاست ، نو تاسو کولی شئ په Excel کې د ریجیکس ډیټا تصدیق وکړئ پرته لدې چې ستاسو کاري کتابونو کې د VBA کوډ اضافه کړئ. یوازې زموږ د ریجیکس وسیلو سره د دودیز AblebitsRegexMatch فنکشن ګټه پورته کړئ.

    2. یو نومول شوی فورمول جوړ کړئ

    په خپل هدف ورک شیټ کې، A1 حجره غوره کړئ (د دې مینځپانګې په پام کې نیولو پرته او مهمه نده چې تاسو واقعیا کوم حجره تایید کړئ)، د نوم مدیر خلاصولو لپاره Ctrl + F3 فشار ورکړئ، او یو نوم تعریف کړئ. د دې فورمول لپاره:

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

    یا تاسو کولی شئ په ځینې حجره کې ریجیکس داخل کړئ (په دې مثال کې A2) او دوهم دلیل ته $A$2 وړاندې کړئ:

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

    د دې لپاره چې فورمول په سمه توګه کار وکړي، ډاډ ترلاسه کړئ چې د متن دلیل (A1) او د پټرن ($A$2) لپاره مطلق حواله وکاروئ.

    دې ته په پام سره چې زموږ فورمول د SKU شمیرو د اعتبار لپاره ټاکل شوی، موږ ورته نوم ورکوو: Validate_SKU .

    مهم یادونه! کله چې فورمول تعریف کړئ، مهرباني وکړئ دوه ځله وګورئ چې لومړی دلیل اوس مهال ټاکل شوي سیل ته اشاره کوي ، که نه نو فورمول به کار ونکړي. د مثال په توګه، که چیرې حجره A1 په پاڼه کې وټاکل شي، A1 په لومړي دلیل کې واچوئ (زموږ د سپارښتنو سره سم)؛ که B2 غوره شوی وي، نو د لومړي دلیل لپاره B2 وکاروئ، او همداسې یو. دا په حقیقت کې مهمه نده چې تاسو کوم ځانګړي حواله کاروئ تر هغه چې دا د اوسني ټاکل شوي حجرې سره سمون ولري.

    د ګام په ګاملارښوونې، مهرباني وکړئ وګورئ چې څنګه په Excel کې نومول شوی فارمول جوړ کړئ.

    3. د ډیټا تایید تنظیم کړئ

    لومړی حجره وټاکئ چې چک کیږي (زموږ په قضیه کې A5) او د نوم شوي فارمول پراساس د دودیز ډیټا تایید کولو قاعده جوړه کړئ. د دې لپاره، لاندې کارونه وکړئ:

    1. Data tab > Data Validation کلیک وکړئ.
    2. په Allow<2 کې> ډراپ-ډاون لیست، غوره کړئ مستقیم .
    3. په اړونده بکس کې لاندې فورمول دننه کړئ.

      =Validate_SKU

    4. د خالی سترګې پټول انتخاب غیر انتخاب کړئ، که نه نو ستاسو قاعده به کار ونکړي.

    په اختیار کې، تاسو کولی شئ ټایپ کړئ د ګمرکي خطا پیغام به ښکاره شي کله چې په حجره کې ناسم معلومات داخل شي.

    که تاسو داسې احساس کوئ چې تاسو تفصيلي ګامونو ته اړتیا لرئ، دلته تاسو ځئ: په Excel کې د دودیز ډیټا تایید کولو څرنګوالی.

    4. د ډیټا تصدیق نورو حجرو ته کاپي کړئ

    ډیرو حجرو ته د تایید تنظیمات کاپي کولو لپاره ، دا هغه څه دي چې تاسو یې کولو ته اړتیا لرئ:

    1. د ډیټا اعتبار سره حجره غوره کړئ او Ctrl + C فشار ورکړئ دا کاپي کړئ.
    2. نور حجرې وټاکئ چې تاسو یې تایید کول غواړئ، ښي کلیک وکړئ، کلیک وکړئ ځانګړی پیسټ کړئ ، او د تعریف اختیار غوره کړئ.
    3. کلیک وکړئ ښه .

    نور معلومات په دې کې موندلی شئ چې څنګه د ډیټا تایید کاپي کړئ.

    اوس، هرکله چې یو څوک هڅه کوي د تایید شوي حجرو څخه یو غلط SKU ته ننوځي، لاندې د خبرتیا پیغام به څرګند شي:

    د Regex سره د بریښنالیک تایید

    د بریښنالیک تایید کولو لپاره، تاسو پیل کړئد یو منظم بیان لیکلو سره چې د بریښنالیک پتې سره سمون لري.

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

    د نحو د تفصيلي وضاحت لپاره مهرباني وکړئ د اعتبار وړ بریښنالیک پتې سره د سمون لپاره Regex وګورئ.

    او اوس، د پخوا څخه پیژندل شوي ګامونو په ترسره کولو سره د اعتبار معیارونه مشخص کړئ:

    1. پورتنۍ ریجیکس په B2 کې دننه کړئ.
    2. سیل A1 وټاکئ او د Validate_Email په نوم یو نوم تعریف کړئ چې ورته اشاره کوي:

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

    3. د حجرې B5 لپاره، د لاندې فورمول په کارولو سره د دودیز ډیټا تایید پلي کړئ. دا اړینه ده چې د خالي غوراوي انتخاب باید غیر انتخاب شي.

      =Validate_Email

      برسیره پردې، تاسو کولی شئ د دودیز خطا پیغام ترتیب کړئ چې کاروونکي د یو باوري بریښنالیک پتې ته د ننوتلو هڅوي.

    4. قانون لاندې حجرو ته کاپي کړئ.

    که چیرې یو بریښنالیک پته چې تاسو په تایید شوي حجره کې داخل کړئ د ریجیکس نمونې سره سمون نه خوري، لاندې خبرتیا به پاپ اپ:

    د منظم بیانونو په کارولو سره د پاسورډونو اعتبار کول

    کله چې د پټنوم تایید لپاره regex کاروئ، لومړی شی چې پریکړه وکړئ هغه څه دي چې ستاسو منظم بیان باید وګوري. دلته ځینې مثالونه دي چې کیدای شي تاسو په سمه لار وټاکي.

    یو پټنوم باید لږ تر لږه 6 حروف اوږد وي او یوازې حروف (لوړ یا لوی) او عددونه ولري:

    بڼه : ^[A-Za-z0-9]{6,}$

    یو پټنوم باید لږترلږه 6 حروف اوږد وي او لږترلږه یو لیک پکې شامل ويیوه عدد:

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

    یو پټنوم باید لږ تر لږه 6 حروف اوږد وي او لږترلږه یو لوی توری، یو کوچنی توری او یوه عدد ولري:

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

    یو پټنوم باید لږ تر لږه 6 حروف وي اوږد او لږ تر لږه یو لیک، یوه عدد او یو ځانګړی کرکټر پکې شامل کړئ:

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

    <0 د نمونې په رامینځته کیدو سره ، تاسو کولی شئ د ډیټا تایید تنظیم کولو ته لاړشئ:
    1. خپل پټنوم ریجیکس په C2 کې دننه کړئ.
    2. 9> حجره A1 غوره کړئ او د په نوم نومول شوی فورمول رامینځته کړئ Validate_Password :

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

    3. د C5 حجرې لپاره، د لاندې فورمول سره د دودیز تایید قانون جوړ کړئ. په یاد ولرئ چې د خالي سترګې پټول چیک باکس غیر انتخاب کړئ.

      =Validate_Password

    4. حکمت څومره حجرو ته کاپي کړئ څومره چې تاسو غواړئ.

    اوس، تاسو کولی شئ په خوندي ډول لیست ته نوي پاسورډونه اضافه کړئ. که چیرې د ان پټ سټرینګ د ریجیکس سره سمون ونلري، نو لاندې خبرتیا به تاسو ته یادونه وکړي چې کوم ډول ارزښتونه منل شوي دي:

    د ریجیکس ډیټا اعتبار کار نه کوي

    که چیرې د ریجیکس ډیټا اعتبار ستاسو په Excel کې کار نه کوي ، ډیری احتمال دا د لاندې دلیلونو څخه یو له امله وي.

    RegExpMatch فنکشن ورک شوی

    مخکې له دې چې د ډیټا تایید پلي کړي، ډاډ ترلاسه کړئ چې د RegExpMatch فنکشن کوډ په خپل کاري کتاب کې دننه کړئ.

    ناسم منظمexpression

    د دې لپاره چې ډاډ ترلاسه کړئ چې ستاسو ریجیکس د توقع سره سم کار کوي، تاسو کولی شئ په ځینو حجرو کې د RegExpMatch فورمول داخل کړئ او پایلې یې معاینه کړئ. د لا زیاتو معلوماتو لپاره، مهرباني وکړئ د مثالونو سره د Excel Regular expression میچنګ وګورئ.

    د خپل منظم بیان تحلیل او ډیبګ کولو لپاره، تاسو کولی شئ د وړیا آنلاین regex ازموینې خدمتونه لکه RegEx101 یا RegExr وکاروئ.

    غلط نومول شوی فورمول

    د ډیټا د اعتبار د ناکامۍ یو ډیر عام دلیل د ریجیکس په نوم فارمول دی چې غلط حجرې ته اشاره کوي. په ټولو مثالونو کې، موږ سپارښتنه کړې چې یو فورمول تعریف کړئ چې A1 ته اشاره کوي:

    =RegExpMatch(A1, regex)

    دا یوازې هغه وخت کار کوي چې حجره A1 فعاله وي کله چې د نوم او <15 تعریف کړئ. اړونده حواله (پرته د $ نښه) کارول کیږي.

    نظر دا دی چې په فورمول (A1) کې مشخص شوي اړونده حواله به په اوتومات ډول د تایید شوي حجرې د نسبي موقعیت پراساس بدل شي. په بل عبارت، سیل A1 یوازې د اسانتیا او دوام لپاره غوره شوی. په حقیقت کې، تاسو کولی شئ سیل B1 وټاکئ او B1 ته مراجعه وکړئ، سیل C1 غوره کړئ او C1 ته مراجعه وکړئ، او داسې نور. مهمه خبره دا ده چې حواله شوې حجره باید فعال حجره وي .

    د دې لپاره چې وګوري چې ستاسو نومول شوی فورمول سم دی، په خپل کاري پاڼه کې کوم حجره غوره کړئ، خلاص کړئ. د مدیر نوم، او وګورئ چې کوم حجره فورمول په ګوته کوي. که دا اوسني ټاکل شوي حجرې ته اشاره وکړي، فورمول سم دی. که نه نو، تاسو باید په لومړي دلیل کې حواله بدل کړئ.

    په سکرین شاټ کېلاندې، حجره A7 غوره شوې، پدې معنی چې نومول شوی فورمول باید په لومړي دلیل کې A7 ولري. دوهم دلیل ($A$2) ریجیکس ته اشاره کوي - دا حواله باید ثابت پاتې شي، نو دا د $ نښه سره تړل شوی.

    د انتخاب خالي انتخاب له پامه غورځول

    کله چې د دودیز ډیټا تایید کولو مقررات تنظیم کړئ ، نو دا مهمه ده چې د خالي سترګې پټول چیک باکس غیر انتخاب کړئ. که نه نو، قاعده به د لاندې دلیلونو له امله کار ونکړي:

    که یو میچ ونه موندل شي، د RegExpMatch فنکشن FALSE بیرته راګرځوي. د خالی نه غورځول انتخاب سره، FALSE د خالي سره مساوي کیږي او له پامه غورځول کیږي.

    یو بدیل حل په ښکاره ډول ویل کیږي چې فورمول باید بیرته راستانه شي:

    =RegExpMatch(…)=TRUE

    دا د منظم بیانونو په کارولو سره په Excel کې د ډیټا تایید کولو څرنګوالی دی. زه ستاسو د لوستلو لپاره مننه کوم او په راتلونکې اونۍ کې زموږ په بلاګ کې تاسو سره لیدو ته سترګې په لار یم!

    د ډاونلوډ لپاره د تمرین کاري کتاب

    د ریګیکس ډیټا تایید مثالونه (.xlsm فایل)

    <3

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.