सामग्री तालिका
ट्युटोरियलले अनुकूलन RegexMatch प्रकार्यको मद्दतले नियमित अभिव्यक्तिहरू प्रयोग गरेर एक्सेलमा डेटा प्रमाणीकरण कसरी गर्ने भनेर देखाउँछ।
जब यो एक्सेल कार्यपत्रहरूमा प्रयोगकर्ता इनपुट प्रतिबन्धित गर्ने कुरा आउँछ, डाटा प्रमाणीकरण अपरिहार्य छ। दिइएको कक्षमा संख्या वा मितिहरू मात्र अनुमति दिन चाहनुहुन्छ? वा पाठ मानहरूलाई निश्चित लम्बाइमा सीमित गर्ने? वा दिइएको दायरा बाहिरका समयहरूलाई अनुमति दिनुहोस्? कुनै समस्या छैन, यो सबै सजिलै प्रिसेट वा अनुकूलन प्रमाणीकरण मापदण्ड संग गर्न सकिन्छ। तर के हुन्छ यदि म वैध इमेल ठेगानाहरू वा विशिष्ट ढाँचासँग मेल खाने तारहरूलाई मात्र अनुमति दिन चाहन्छु? अफसोस, यो सम्भव छैन। Regex तपाईं भन्नुहुन्छ? हम्म... यसले काम गर्न सक्छ!
रेजेक्सको साथ एक्सेल डाटा प्रमाणिकरण कसरी गर्ने
अफसोसको कुरा, कुनै पनि निर्मित एक्सेल सुविधाहरूले regex लाई समर्थन गर्दैन, र डाटा प्रमाणीकरण कुनै पनि छैन। अपवाद। नियमित अभिव्यक्तिहरू प्रयोग गरेर सेल इनपुट मान्य गर्न सक्षम हुन, तपाईंले पहिले आफू अनुकूल Regex प्रकार्य सिर्जना गर्न आवश्यक छ। अर्को जटिलता यो हो कि VBA प्रयोगकर्ता-परिभाषित प्रकार्यहरू डेटा प्रमाणीकरणमा प्रत्यक्ष रूपमा सेवा गर्न सकिँदैन - तपाईंलाई नामित सूत्रको रूपमा मध्यस्थता चाहिन्छ।
माथिको विचार गर्दै, हामी लिनु पर्ने चरणहरूलाई संक्षिप्त रूपमा रूपरेखा गरौं। एक्सेलमा regexes प्रयोग गरेर डाटा प्रमाणित गर्न:
- आगत मान नियमित अभिव्यक्तिसँग मेल खान्छ कि भनेर जाँच गर्ने अनुकूलन Regex प्रकार्य सिर्जना गर्नुहोस्।
- तपाईंको Regex सूत्रको लागि नाम परिभाषित गर्नुहोस्।
- नामक सूत्रमा आधारित डाटा प्रमाणीकरण नियम कन्फिगर गर्नुहोस्।
- प्रतिलिपि गर्नुहोस्तपाईले चाहानु भएको धेरै कक्षहरूमा प्रमाणीकरण सेटिङहरू।
योजना जस्तो लाग्छ? यसलाई व्यवहारमा लागू गर्ने प्रयास गरौं!
अनुकूलित नियमित अभिव्यक्तिहरू प्रयोग गरेर एक्सेल डेटा प्रमाणीकरण
यो उदाहरणले धेरै सामान्य केसलाई सम्बोधन गर्दछ - कसरी एक विशिष्ट ढाँचाको मानहरूलाई मात्र अनुमति दिने।
मानौं तपाईंले आफ्नो कार्यपत्रमा केही SKU कोडहरू राख्नुहुन्छ र दिइएको ढाँचासँग मिल्ने कोडहरू मात्र सूचीमा आउँछन् भनी निश्चित हुन चाहनुहुन्छ। प्रत्येक SKU मा हाइफनले छुट्याइएको क्यारेक्टरका २ समूहहरू हुन्छन्, पहिलो समूहमा ३ ठूला अक्षरहरू र दोस्रो समूह - ३ अंकहरू समावेश भएमा, तपाईंले तलको रेगेक्स प्रयोग गरी त्यस्ता मानहरू पहिचान गर्न सक्नुहुन्छ।
ढाँचा : ^[A-Z]{3}-\d{3}$
कृपया याद गर्नुहोस् कि स्ट्रिङको सुरु (^) र अन्त्य ($) एङ्कर गरिएको छ, त्यसैले यसमा बाहेक अरू कुनै वर्णहरू छैनन्। ढाँचा सेलमा प्रविष्ट गर्न सकिन्छ।
1. आफू अनुकूल Regex मिलान प्रकार्य थप्नुहोस्
तपाईंको कार्यपुस्तिकामा RegExpMatch प्रकार्य सम्मिलित गरेर सुरु गर्नुहोस्। कोड पहिले नै हाम्रो एक्सेल गुरुहरू द्वारा लेखिएको छ, त्यसैले तपाईंले यसलाई माथि-लिंक गरिएको पृष्ठबाट प्रतिलिपि गरेर आफ्नो VBA सम्पादकमा टाँस्न आवश्यक छ।
तपाईंको सन्दर्भको लागि कार्यको वाक्य रचना यहाँ छ:
RegExpMatch(text , ढाँचा, [match_case])कहाँ:
- पाठ (आवश्यक) - स्रोत स्ट्रिङ (हाम्रो सन्दर्भमा - एक प्रमाणित सेल)। <9 ढाँचा (आवश्यक) - मिलाउनको लागि नियमित अभिव्यक्ति।
- Match_case (वैकल्पिक) - मिलान प्रकार। सही वा छोडिएको - केस-संवेदनशील; FALSE - केस-संवेदनशील।
टिप। यदि तपाइँ हाम्रो अल्टिमेट सुइटको प्रयोगकर्ता हुनुहुन्छ भने, तपाइँ तपाइँको कार्यपुस्तिकाहरूमा कुनै पनि 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
- अचयन गर्नुहोस् खाली उपेक्षा गर्नुहोस् विकल्प, अन्यथा तपाईंको नियमले काम गर्ने छैन।
वैकल्पिक रूपमा, तपाइँ टाइप गर्न सक्नुहुन्छ सेलमा अवैध डाटा प्रविष्ट गर्दा प्रदर्शन गर्न अनुकूल त्रुटि सन्देश।
यदि तपाईंलाई विस्तृत चरणहरू आवश्यक छ जस्तो लाग्छ भने, तपाईं यहाँ जानुहुन्छ: एक्सेलमा अनुकूलन डाटा प्रमाणीकरण कसरी सेटअप गर्ने।
4। थप कक्षहरूमा डाटा प्रमाणीकरण प्रतिलिपि गर्नुहोस्
अधिक कक्षहरूमा प्रमाणीकरण सेटिङहरू प्रतिलिपि गर्न, तपाईंले यो गर्न आवश्यक छ:
- डेटा प्रमाणीकरण भएको कक्ष चयन गर्नुहोस् र Ctrl + C थिच्नुहोस्। यसलाई प्रतिलिपि गर्नुहोस्।
- तपाईँले मान्य गर्न चाहनुभएको अन्य कक्षहरू चयन गर्नुहोस्, तिनीहरूलाई दायाँ क्लिक गर्नुहोस्, विशेष टाँस्नुहोस् क्लिक गर्नुहोस्, र मान्यता विकल्प छान्नुहोस्।
- ठीक क्लिक गर्नुहोस्।
डेटा प्रमाणिकरण कसरी प्रतिलिपि गर्ने भन्ने बारे थप जानकारी पाउन सकिन्छ।
अब, प्रत्येक पटक कसैले मान्य कक्षहरूमा अमान्य SKU प्रविष्ट गर्ने प्रयास गर्दा, निम्न चेतावनी सन्देश देखा पर्नेछ:
Regex सँग इमेल प्रमाणीकरण
इमेल प्रमाणीकरण गर्न, तपाइँ सुरु गर्नुहोस्इमेल ठेगानासँग मेल खाने नियमित अभिव्यक्ति लेख्न।
ढाँचा : ^[\w\.\-]+@[A-Za-z0-9]+[A-Za -z0-9\.\-]*[A-Za-z0-9]+\। वैध इमेल ठेगानाहरू मिलाउन Regex हेर्नुहोस्।
र अब, पहिले नै परिचित चरणहरू प्रदर्शन गरेर प्रमाणीकरण मापदण्ड निर्दिष्ट गर्नुहोस्:
- माथिको regex B2 मा प्रविष्ट गर्नुहोस्।
- सेल A1 चयन गर्नुहोस् र Validate_Email नामको नाम परिभाषित गर्नुहोस् जसले निम्नलाई बुझाउँछ:
=RegExpMatch(Sheet1!A1, Sheet1!$B$2)
- सेल B5 को लागि, तलको सूत्र प्रयोग गरेर अनुकूलन डेटा प्रमाणीकरण लागू गर्नुहोस्। यो आवश्यक छ कि खाली उपेक्षा गर्नुहोस् विकल्प अचयनित हुनुपर्छ।
=Validate_Email
थप रूपमा, तपाइँ प्रयोगकर्तालाई मान्य इमेल ठेगाना प्रविष्ट गर्न प्रेरित गर्ने अनुकूल त्रुटि सन्देश कन्फिगर गर्न सक्नुहुन्छ।
यो पनि हेर्नुहोस्: एक्सेलमा स्ट्राइकथ्रु कसरी गर्ने: सर्टकट, बटन र सशर्त ढाँचा - नियमलाई तलको कक्षहरूमा प्रतिलिपि गर्नुहोस्।
यदि तपाईंले मान्य कक्षमा प्रविष्ट गर्नुभएको इमेल ठेगानाले regex ढाँचासँग मेल खाँदैन भने, निम्न अलर्ट हुनेछ। पप अप:
रेगुलर एक्सप्रेशनहरू प्रयोग गरेर पासवर्डहरू मान्य गर्दै
पासवर्ड प्रमाणीकरणको लागि regex प्रयोग गर्दा, तपाईंको नियमित अभिव्यक्तिले के जाँच गर्नुपर्छ भन्ने निर्णय गर्ने पहिलो कुरा हो। यहाँ केहि उदाहरणहरू छन् जसले तपाईंलाई सही ट्रयाकमा सेट गर्न सक्छ।
पासवर्ड कम्तिमा 6 क्यारेक्टर लामो हुनुपर्छ र यसमा अक्षरहरू (अपरकेस वा लोअरकेस) र अंकहरू मात्र हुन सक्छन्:
ढाँचा : ^[A-Za-z0-9]{6,}$
एक पासवर्ड कम्तिमा 6 वर्ण लामो हुनु पर्छ र कम्तिमा एक अक्षर रएक अंक:
ढाँचा : ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{6 . .*[A-Z])(?=.*[a-z])(?=.*\d)[A-Za-z\d]{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 डाटा प्रमाणीकरणले काम गर्दैन। , सम्भवतः यो निम्न मध्ये कुनै एक कारणले भएको हुन सक्छ।
RegExpMatch प्रकार्य हराइरहेको छ
डेटा प्रमाणीकरण लागू गर्नु अघि, आफ्नो कार्यपुस्तिकामा RegExpMatch प्रकार्यको कोड घुसाउन निश्चित हुनुहोस्।
गलत नियमितअभिव्यक्ति
तपाईँको regex ले अपेक्षित रूपमा काम गर्छ भनी सुनिश्चित गर्न, तपाईँले केही कक्षमा RegExpMatch सूत्र प्रविष्ट गर्न सक्नुहुन्छ र परिणामहरू जाँच्न सक्नुहुन्छ। थप जानकारीको लागि, कृपया उदाहरणहरूसँग मिल्दो एक्सेल नियमित अभिव्यक्ति हेर्नुहोस्।
तपाईँको नियमित अभिव्यक्तिको विश्लेषण र डिबग गर्न, तपाईँले RegEx101 वा RegExr जस्ता निःशुल्क अनलाइन regex परीक्षण सेवाहरू प्रयोग गर्न सक्नुहुन्छ।
गलत नाम दिइएको सूत्र
डेटा प्रमाणीकरण विफलताको एक धेरै सामान्य कारण गलत सेललाई सन्दर्भ गर्ने Regex नामको सूत्र हो। सबै उदाहरणहरूमा, हामीले A1 लाई सन्दर्भ गर्ने सूत्र परिभाषित गर्न सिफारिस गर्छौं:
=RegExpMatch(A1, regex)
यसले मात्र काम गर्छ यदि कक्ष A1 सक्रिय छ नाम र <15 परिभाषित गर्दा।>सापेक्ष सन्दर्भ ($ चिन्ह बिना) प्रयोग गरिन्छ।
विचार यो हो कि सूत्र (A1) मा निर्दिष्ट गरिएको सापेक्ष सन्दर्भ प्रमाणित कक्षको सापेक्ष स्थितिको आधारमा स्वतः परिवर्तन हुनेछ। अर्को शब्दमा, सेल A1 सुविधा र स्थिरताको लागि मात्र चयन गरिएको छ। वास्तवमा, तपाईले सेल B1 चयन गर्न सक्नुहुन्छ र B1 लाई सन्दर्भ गर्न सक्नुहुन्छ, सेल C1 चयन गर्नुहोस् र C1 लाई सन्दर्भ गर्नुहोस्, र यस्तै। मुख्य कुरा यो हो कि सन्दर्भित कक्ष सक्रिय कक्ष हुनुपर्छ।
तपाईँको नामित सूत्र सही छ कि छैन भनेर जाँच गर्न, आफ्नो कार्यपत्रमा कुनै पनि सेल चयन गर्नुहोस्, खोल्नुहोस्। नाम प्रबन्धक, र सूत्रले कुन सेललाई संकेत गर्छ हेर्नुहोस्। यदि यो हाल चयन गरिएको कक्षलाई जनाउँछ भने, सूत्र सही छ। अन्यथा, तपाईंले पहिलो तर्कमा सन्दर्भ परिवर्तन गर्नुपर्छ।
स्क्रिनसटमातल, कक्ष A7 चयन गरिएको छ, जसको अर्थ पहिलो तर्कमा नामित सूत्रमा A7 हुनुपर्छ। दोस्रो तर्क ($A$2) ले regex लाई बुझाउँछ - यो सन्दर्भ स्थिर रहन मानिन्छ, त्यसैले यो $ चिन्हसँग लक गरिएको छ।
उपेक्षा खाली विकल्प चयन गरियो
कस्टम डाटा प्रमाणीकरण नियम सेटअप गर्दा, खाली उपेक्षा गर्नुहोस् चेक बाकस अचयन गर्न महत्त्वपूर्ण छ। अन्यथा, निम्न कारणले गर्दा नियमले काम गर्दैन:
यदि मेल फेला परेन भने, RegExpMatch प्रकार्यले FALSE फर्काउँछ। खाली उपेक्षा गर्नुहोस् विकल्प चयन गर्दा, FALSE खाली बराबर हुन्छ र बेवास्ता गरिन्छ।
वैकल्पिक समाधानले स्पष्ट रूपमा सूत्रलाई TRUE:
=RegExpMatch(…)=TRUE
यस्तै नियमित अभिव्यक्ति प्रयोग गरेर एक्सेलमा डाटा प्रमाणीकरण गर्ने तरिका हो। पढ्नुभएकोमा म तपाईंलाई धन्यवाद दिन्छु र अर्को हप्ता हाम्रो ब्लगमा तपाईंलाई भेट्नको लागि तत्पर छु!
डाउनलोडका लागि अभ्यास कार्यपुस्तिका
Regex डाटा प्रमाणीकरण उदाहरणहरू (.xlsm फाइल)