අන්තර්ගත වගුව
අභිරුචි RegexMatch ශ්රිතයක ආධාරයෙන් සාමාන්ය ප්රකාශන භාවිතයෙන් Excel හි දත්ත වලංගුකරණය කරන්නේ කෙසේදැයි නිබන්ධනය පෙන්වයි.
Excel වැඩපත්ර තුළ පරිශීලක ආදානය සීමා කිරීම සම්බන්ධයෙන්, දත්ත වලංගුකරණය නැතුවම බැරි දෙයක්. දී ඇති කොටුවක අංක හෝ දින පමණක් ඉඩ දීමට අවශ්යද? නැතහොත් පෙළ අගයන් නිශ්චිත දිගකට සීමා කරන්නද? එසේත් නැතිනම් දී ඇති පරාසයකින් පිටත වේලාවන්ට ඉඩ නොදිය හැකිද? ගැටලුවක් නැත, මේ සියල්ල පෙරසිටුවීම් හෝ අභිරුචි වලංගුකරණ නිර්ණායක සමඟ පහසුවෙන් කළ හැකිය. නමුත් මට නිශ්චිත රටාවකට ගැළපෙන වලංගු ඊමේල් ලිපින හෝ තන්තුවලට පමණක් ඉඩ දීමට අවශ්ය නම් කුමක් කළ යුතුද? අනේ එහෙම බෑ. Regex ඔයා කියනවද? හ්ම්ම්... එය ක්රියාත්මක විය හැක!
Regex සමඟ Excel දත්ත වලංගුකරණය කරන්නේ කෙසේද
කණගාටුවට කරුණක් නම්, ගොඩනඟන ලද එක්සෙල් විශේෂාංග කිසිවක් regexs සඳහා සහය නොදක්වන අතර දත්ත වලංගු කිරීම නැත ව්යතිරේක සාමාන්ය ප්රකාශන භාවිතයෙන් සෛල ආදානය වලංගු කිරීමට හැකි වීමට, ඔබ පළමුව අභිරුචි Regex ශ්රිතයක් සෑදිය යුතුය. තවත් සංකූලතාවයක් වන්නේ VBA පරිශීලක-නිර්වචනය කරන ලද කාර්යයන් දත්ත වලංගුකරණයට සෘජුවම ලබා දිය නොහැකි වීමයි - ඔබට නම් කරන ලද සූත්රයක ස්වරූපයෙන් මැදිහත්කරුවෙකු අවශ්ය වනු ඇත.
ඉහත සලකා බැලීමේදී, අපි ගත යුතු පියවර කෙටියෙන් ගෙනහැර දක්වමු. Regexes භාවිතයෙන් Excel හි දත්ත වලංගු කිරීමට:
- ආදාන අගයක් සාමාන්ය ප්රකාශනයකට ගැලපේදැයි පරීක්ෂා කරන අභිරුචි Regex ශ්රිතයක් සාදන්න.
- ඔබේ Regex සූත්රය සඳහා නමක් නිර්වචනය කරන්න.
- නම් කරන ලද සූත්රය මත පදනම්ව දත්ත වලංගු කිරීමේ රීතියක් වින්යාස කරන්න.
- පිටපත් කරන්නඔබට අවශ්ය තරම් සෛල ගණනකට වලංගු කිරීමේ සැකසුම්.
සැලැස්මක් වගේද? අපි එය ප්රායෝගිකව ක්රියාත්මක කිරීමට උත්සාහ කරමු!
අභිරුචි නිත්ය ප්රකාශන භාවිතයෙන් Excel දත්ත වලංගුකරණය
මෙම උදාහරණය ඉතා සුලභ අවස්ථාවක් ආමන්ත්රණය කරයි - නිශ්චිත රටාවක අගයන් පමණක් ඉඩ දෙන්නේ කෙසේද.
ඔබ ඔබේ වැඩ පත්රිකාවේ SKU කේත කිහිපයක් තබාගෙන සිටින අතර, ලබා දී ඇති රටාවකට ගැලපෙන කේත පමණක් ලැයිස්තුවට ඇතුළු වන බවට සහතික වීමට අවශ්ය යැයි සිතමු. එක් එක් SKU යටි ඉරකින් වෙන් කරන ලද අක්ෂර කාණ්ඩ 2 කින් සමන්විත වන අතර, පළමු කණ්ඩායම විශාල අකුරු 3 ක් සහ දෙවන කණ්ඩායම - ඉලක්කම් 3 ක් ඇතුළුව, ඔබට පහත regex භාවිතයෙන් එවැනි අගයන් හඳුනාගත හැකිය.
රටාව : ^[A-Z]{3}-\d{3}$
තන්තුවේ ආරම්භය (^) සහ අවසානය ($) නැංගුරම් ලා ඇති බව කරුණාවෙන් සලකන්න, එම නිසා එහි හැර වෙනත් අක්ෂර නොමැත කොටුවක් තුළ රටාව ඇතුළත් කළ හැක.
1. අභිරුචි Regex Match ශ්රිතයක් එක් කරන්න
ඔබගේ වැඩපොතෙහි RegExpMatch ශ්රිතය ඇතුළු කිරීමෙන් ආරම්භ කරන්න. කේතය දැනටමත් අපගේ Excel ගුරුවරුන් විසින් ලියා ඇත, එබැවින් ඔබට එය ඉහත-සම්බන්ධිත පිටුවෙන් පිටපත් කර ඔබේ VBA සංස්කාරකයේ ඇලවීම අවශ්ය වේ.
ඔබේ යොමුව සඳහා ශ්රිතයේ වාක්ය ඛණ්ඩය මෙන්න:
RegExpMatch(පෙළ , රටාව, [match_case])කොතැනද:
- පෙළ (අවශ්යයි) - මූලාශ්ර තන්තුවක් (අපගේ සන්දර්භය තුළ - වලංගු කොටුවකි).
- රටාව (අවශ්යයි) - ගැළපීමට නිත්ය ප්රකාශනයක්.
- Match_case (විකල්ප) - ගැළපුම් වර්ගය. සත්ය හෝ අතහැර දැමූ - නඩුව-සංවේදී; අසත්ය - සිද්ධි සංවේදී නොවන.
ඉඟිය. ඔබ අපගේ Ultimate Suite භාවිතා කරන්නෙකු නම්, ඔබට ඔබගේ වැඩපොත් වලට කිසිදු VBA කේතයක් එක් නොකර Excel හි Regex දත්ත වලංගුකරණය කළ හැක. අපගේ Regex මෙවලම් සමඟ ඇතුළත් අභිරුචි AblebitsRegexMatch ශ්රිතයක් පමණක් භාවිතා කරන්න.
2. නම් කරන ලද සූත්රයක් සාදන්න
ඔබගේ ඉලක්ක වැඩ පත්රිකාවේ A1 කොටුව තෝරන්න (එහි අන්තර්ගතය සහ ඔබ සත්ය වශයෙන්ම වලංගු කිරීමට යන්නේ කුමන කොටුව කුමක් වුවත්), නාම කළමනාකරු විවෘත කිරීමට Ctrl + F3 ඔබන්න, සහ නමක් නිර්වචනය කරන්න. මෙම සූත්රය සඳහා:
=RegExpMatch(Sheet1!A1, "^[A-Z]{3}-\d{3}$")
නැතහොත් ඔබට යම් කොටුවක regex ඇතුළත් කළ හැක (මෙම උදාහරණයේ A2) සහ දෙවන තර්කයට $A$2 සැපයිය හැක:
=RegExpMatch(Sheet1!A1, Sheet1!$A$2)
සූත්රය නිවැරදිව ක්රියා කිරීම සඳහා, පෙළ තර්කය (A1) සඳහා සාපේක්ෂ යොමුවක් සහ රටාව ($A$2) සඳහා නිරපේක්ෂ යොමුවක් භාවිතා කිරීමට වග බලා ගන්න.
අපගේ සූත්රය SKU අංක වලංගු කිරීම සඳහා අරමුණු කර ඇති බැවින්, අපි එය ඒ අනුව නම් කරමු: Validate_SKU .
වැදගත් සටහනක්! සූත්රය නිර්වචනය කිරීමේදී, කරුණාකර පළමු තර්කය දැනට තෝරන ලද කොටුව වෙත යොමු කරන්නේ දැයි දෙවරක් පරීක්ෂා කරන්න, එසේ නොමැතිනම් සූත්රය ක්රියා නොකරනු ඇත. උදාහරණයක් ලෙස, පත්රයේ A1 කොටුව තෝරාගෙන තිබේ නම්, A1 පළමු තර්කයට දමන්න (අපගේ නිර්දේශ අනුව); B2 තෝරාගෙන තිබේ නම්, පළමු තර්කය සඳහා B2 භාවිතා කරන්න, සහ එසේ එකක්. එය දැනට තෝරාගෙන ඇති කොටුවට ගැළපෙන තාක් කල් ඔබ කුමන විශේෂිත යොමුවක් භාවිත කළත් එය වැදගත් නොවේ.
පියවරෙන් පියවර සඳහාඋපදෙස්, කරුණාකර Excel හි නම් කරන ලද සූත්රයක් සාදා ගන්නා ආකාරය බලන්න.
3. දත්ත වලංගුකරණය සකසන්න
පරීක්ෂා කළ යුතු පළමු කොටුව තෝරන්න (අපගේ නඩුවේ A5) සහ නම් කරන ලද සූත්රය මත පදනම්ව අභිරුචි දත්ත වලංගු කිරීමේ රීතියක් සාදන්න. මේ සඳහා, පහත දේ කරන්න:
- දත්ත ටැබ් > දත්ත වලංගු කිරීම ක්ලික් කරන්න.
- අවසර පතන ලැයිස්තුව, අභිරුචි තෝරන්න.
- අදාළ කොටුවේ පහත සූත්රය ඇතුළු කරන්න.
=Validate_SKU
- හිස්තැන නොසලකා හැරීම විකල්පය තෝරන්න, එසේ නොමැතිනම් ඔබේ රීතිය ක්රියා නොකරනු ඇත.
විකල්ප වශයෙන්, ඔබට ටයිප් කළ හැක. සෛලයක වලංගු නොවන දත්ත ඇතුළත් කළ විට අභිරුචි දෝෂ පණිවිඩයක් පෙන්විය යුතුය.
ඔබට සවිස්තරාත්මක පියවර අවශ්ය යැයි හැඟේ නම්, මෙන්න ඔබ යන්න: Excel හි අභිරුචි දත්ත වලංගුකරණය සකසන්නේ කෙසේද.
4. දත්ත වලංගුකරණය තවත් කොටු වලට පිටපත් කරන්න
වැඩිදුර සෛල වෙත වලංගුකරණ සැකසුම් පිටපත් කිරීමට, ඔබ කළ යුත්තේ මෙයයි:
- දත්ත වලංගුකරණය සහිත කොටුව තෝරා Ctrl + C ඔබන්න එය පිටපත් කරන්න.
- ඔබට වලංගු කිරීමට අවශ්ය අනෙකුත් කොටු තෝරන්න, ඒවා දකුණු-ක්ලික් කරන්න, විශේෂිත අලවන්න ක්ලික් කර, වලංගුකරණය විකල්පය තෝරන්න.
- හරි ක්ලික් කරන්න.
වැඩිදුර තොරතුරු දත්ත වලංගුකරණය පිටපත් කරන්නේ කෙසේද යන්නෙන් සොයා ගත හැක.
දැන්, යමෙකු වලංගු නොවන SKU එකක් ඕනෑම වලංගු සෛලයකට ඇතුළු කිරීමට උත්සාහ කරන සෑම අවස්ථාවකම, පහත අනතුරු ඇඟවීමේ පණිවිඩයක් දිස්වනු ඇත:
Regex සමඟ විද්යුත් තැපෑල වලංගු කිරීම
ඊමේල් වලංගු කිරීම සිදු කිරීමට, ඔබ ආරම්භ කරන්නඊමේල් ලිපිනයකට ගැළපෙන සාමාන්ය ප්රකාශනයක් ලිවීම සමඟ.
රටාව : ^[\w\.\-]+@[A-Za-z0-9]+[A-Za -z0-9\.\-]*[A-Za-z0-9]+\.[A-Za-z]{2,24}$
වාක්ය ඛණ්ඩය පිළිබඳ සවිස්තරාත්මක පැහැදිලි කිරීම සඳහා, කරුණාකර වලංගු විද්යුත් තැපැල් ලිපිනවලට ගැලපීමට Regex බලන්න.
දැන්, දැනටමත් හුරුපුරුදු පියවරයන් සිදු කිරීමෙන් වලංගුකරණ නිර්ණායක සඳහන් කරන්න:
- ඉහත regex B2 හි ඇතුළත් කරන්න.
- කොටුව A1 තෝරන්න සහ Validate_Email යනුවෙන් හඳුන්වන නමක් නිර්වචනය කරන්න:
=RegExpMatch(Sheet1!A1, Sheet1!$B$2)
- කොටුව B5 සඳහා, පහත සූත්රය භාවිතයෙන් අභිරුචි දත්ත වලංගුකරණය යොදන්න. ඉග්නෝර් හිස් විකල්පය තෝරා නොගැනීම අත්යවශ්ය වේ.
=Validate_Email
අමතරව, වලංගු විද්යුත් තැපැල් ලිපිනයක් ඇතුළු කිරීමට පරිශීලකයා පොළඹවන අභිරුචි දෝෂ පණිවිඩයක් ඔබට වින්යාස කළ හැක.
- පහත කොටුවලට රීතිය පිටපත් කරන්න.
ඔබ වලංගු කළ කොටුවකට ඇතුළු කරන විද්යුත් තැපැල් ලිපිනයක් රීජෙක්ස් රටාවකට නොගැලපේ නම්, පහත අනතුරු ඇඟවීම pop-up:
සාමාන්ය ප්රකාශන භාවිතයෙන් මුරපද වලංගු කිරීම
මුරපද වලංගු කිරීම සඳහා 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,}$
ස්ථාපිත රටාව සමඟින්, ඔබට දත්ත වලංගුකරණය සැකසීමට ඉදිරියට යා හැක:
- C2 හි ඔබගේ මුරපද regex ඇතුලත් කරන්න.
- කොටුව A1 තෝරා නමින් නම් කරන ලද සූත්රයක් සාදන්න Validate_Password :
=RegExpMatch(Sheet1!A1, Sheet1!$C$2)
- C5 කොටුව සඳහා, පහත සූත්රය සමඟ අභිරුචි වලංගු කිරීමේ රීතියක් සාදන්න. මතක තබා ගන්න ඉග්නෝර් හිස් සලකුණු කොටුව තේරීම ඉවත් කරන්න.
=Validate_Password
- නීතිය ඔබට අවශ්ය තරම් කොටු ගණනකට පිටපත් කරන්න.
දැන්, ඔබට ආරක්ෂිතව ලැයිස්තුවට නව මුරපද එක් කළ හැක. ආදාන තන්තුවක් regex සමඟ නොගැලපේ නම්, පහත ඇඟවීම මඟින් ඔබට පිළිගනු ලබන අගයන් මොනවාදැයි මතක් කර දෙනු ඇත:
Regex දත්ත වලංගු කිරීම ක්රියා නොකරයි
Regex දත්ත වලංගු කිරීම ඔබේ Excel තුළ ක්රියා නොකරන්නේ නම් , බොහෝ දුරට එය පහත එක් හේතුවක් නිසා විය හැකිය.
RegExpMatch ශ්රිතය අස්ථානගත වී ඇත
දත්ත වලංගුකරණය යෙදීමට පෙර, ඔබේ වැඩපොතෙහි RegExpMatch ශ්රිතයේ කේතය ඇතුළත් කිරීමට වග බලා ගන්න.
වැරදි නිතිපතාප්රකාශනය
ඔබේ regex අපේක්ෂා කළ පරිදි ක්රියා කරන බවට වග බලා ගැනීමට, ඔබට යම් කොටුවක RegExpMatch සූත්රයක් ඇතුළු කර ප්රතිඵල පරීක්ෂා කළ හැක. වැඩි විස්තර සඳහා, කරුණාකර Excel නිත්ය ප්රකාශන උදාහරණ සමඟ ගැළපීම බලන්න.
ඔබගේ සාමාන්ය ප්රකාශන විශ්ලේෂණය කිරීමට සහ නිදොස් කිරීමට, ඔබට RegEx101 හෝ RegExr වැනි නොමිලේ මාර්ගගත regex පරීක්ෂණ සේවා භාවිතා කළ හැක.
වැරදි නම් සූත්රය
දත්ත වලංගුකරණය අසාර්ථක වීමට ඉතා පොදු හේතුවක් වන්නේ Regex නම් වූ සූත්රය වැරදි සෛලයකට යොමු වීමයි. සියලුම උදාහරණ වල, අපි A1 වෙත යොමු වන සූත්රයක් නිර්වචනය කිරීමට නිර්දේශ කරමු:
=RegExpMatch(A1, regex)
මෙය ක්රියා කරන්නේ නමක් සහ <15 නිර්වචනය කිරීමේදී සෛල A1 සක්රිය නම් පමණි>සාපේක්ෂ යොමුව ($ ලකුණ නොමැතිව) භාවිතා වේ.
අදහස නම් (A1) සූත්රයේ දක්වා ඇති සාපේක්ෂ යොමුවක් වලංගු කළ කොටුවේ සාපේක්ෂ පිහිටීම මත පදනම්ව ස්වයංක්රීයව වෙනස් වන බවයි. වෙනත් වචන වලින් කිවහොත්, A1 සෛලය තෝරාගෙන ඇත්තේ පහසුව සහ අනුකූලතාව සඳහා පමණි. ඇත්ත වශයෙන්ම, ඔබට සෛල B1 තෝරා B1 වෙත යොමු කළ හැකිය, C1 සෛලය තෝරා C1 වෙත යොමු කරන්න, යනාදිය. ප්රධාන දෙය නම් යොමු කළ කොටුව ක්රියාකාරී සෛලය විය යුතුය.
ඔබේ නම් කරන ලද සූත්රය නිවැරදි දැයි පරීක්ෂා කිරීමට, ඔබේ වැඩ පත්රිකාවේ ඕනෑම කොටුවක් තෝරන්න, විවෘත කරන්න කළමනාකරු නම් කරන්න, සහ සූත්රය යොමු කරන්නේ කුමන කොටුවටදැයි බලන්න. එය දැනට තෝරන ලද කොටුවට යොමු කරන්නේ නම්, සූත්රය හරි. එසේ නොමැතිනම්, ඔබ පළමු තර්කයේ යොමුව වෙනස් කළ යුතුය.
තිර රුවෙහිපහතින්, කොටුව A7 තෝරා ඇත, එනම් නම් කරන ලද සූත්රයක පළමු තර්කයේ A7 තිබිය යුතුය. දෙවන තර්කය ($A$2) regex වෙත යොමු කරයි - මෙම යොමුව නියතව පැවතිය යුතුය, එබැවින් එය $ ලකුණ සමඟ අගුලු දමා ඇත.
ඉග්නෝර් හිස් විකල්පය තෝරා ඇත
අභිරුචි දත්ත වලංගු කිරීමේ රීතියක් සකසන විට, හිස්තැන නොසලකා හැරීම සලකුණු කොටුව තේරීමෙන් ඉවත් කිරීම වැදගත් වේ. එසේ නොමැති නම්, පහත හේතුව නිසා රීතිය ක්රියා නොකරනු ඇත:
ගැළපීමක් සොයාගත නොහැකි නම්, RegExpMatch ශ්රිතය FALSE ලබා දෙයි. තෝරාගත් හිස් විකල්පය සමඟ, FALSE හිස් තැන්වලට සමාන වන අතර නොසලකා හරිනු ලැබේ.
විකල්ප විසඳුමක් පැහැදිලිව සඳහන් කරන්නේ සූත්රය සත්ය ලෙස ආපසු ලබා දිය යුතු බවයි:
=RegExpMatch(…)=TRUE
එක්සෙල් හි සාමාන්ය ප්රකාශන භාවිතයෙන් දත්ත වලංගුකරණය කරන්නේ කෙසේද යන්නයි. කියවීම සඳහා මම ඔබට ස්තූතිවන්ත වන අතර ලබන සතියේ අපගේ බ්ලොගයේ ඔබව දැකීමට බලාපොරොත්තු වෙමි!
බාගැනීම සඳහා වැඩපොත පුහුණු වන්න
Regex දත්ත වලංගු කිරීමේ උදාහරණ (.xlsm ගොනුව)
<3