રેગ્યુલર એક્સપ્રેશન્સ (Regex) નો ઉપયોગ કરીને એક્સેલ ડેટા વેલિડેશન

  • આ શેર કરો
Michael Brown

ટ્યુટોરીયલ બતાવે છે કે કસ્ટમ RegexMatch ફંક્શનની મદદથી રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને Excel માં ડેટા વેલિડેશન કેવી રીતે કરવું.

જ્યારે એક્સેલ વર્કશીટ્સમાં યુઝર ઇનપુટને પ્રતિબંધિત કરવાની વાત આવે છે, ત્યારે ડેટા વેલિડેશન અનિવાર્ય છે. આપેલ કોષમાં માત્ર નંબરો અથવા તારીખોને મંજૂરી આપવા માંગો છો? અથવા ટેક્સ્ટ મૂલ્યોને ચોક્કસ લંબાઈ સુધી મર્યાદિત કરીએ? અથવા કદાચ આપેલ શ્રેણીની બહારના સમયને નામંજૂર કરીએ? કોઈ વાંધો નથી, આ બધું પ્રીસેટ અથવા કસ્ટમ માન્યતા માપદંડ સાથે સરળતાથી કરી શકાય છે. પરંતુ જો હું માત્ર માન્ય ઈમેલ એડ્રેસ અથવા ચોક્કસ પેટર્ન સાથે મેળ ખાતી સ્ટ્રિંગ્સને મંજૂરી આપવા માગું તો શું? અરે, તે શક્ય નથી. રેજેક્સ તમે કહો છો? હમ્મ... તે કામ કરી શકે છે!

    રેજેક્સ સાથે એક્સેલ ડેટા વેલિડેશન કેવી રીતે કરવું

    અફસોસની વાત એ છે કે એક્સેલના બિલ્ટ-ઇન ફીચર્સમાંથી કોઈ પણ રેજેક્સને સપોર્ટ કરતું નથી, અને ડેટા વેલિડેશન નથી અપવાદ રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને સેલ ઇનપુટને માન્ય કરવામાં સક્ષમ થવા માટે, તમારે પહેલા કસ્ટમ રેજેક્સ ફંક્શન બનાવવાની જરૂર છે. બીજી ગૂંચવણ એ છે કે VBA વપરાશકર્તા-વ્યાખ્યાયિત કાર્યો સીધા ડેટા માન્યતા માટે સેવા આપી શકાતા નથી - તમારે નામના ફોર્મ્યુલાના રૂપમાં મધ્યસ્થીની જરૂર પડશે.

    ઉપરોક્તને ધ્યાનમાં લેતા, ચાલો આપણે લેવાના પગલાઓની ટૂંકમાં રૂપરેખા આપીએ. રેગેક્સનો ઉપયોગ કરીને એક્સેલમાં ડેટાને માન્ય કરવા માટે:

    1. એક કસ્ટમ રેજેક્સ ફંક્શન બનાવો જે તપાસે છે કે ઇનપુટ મૂલ્ય નિયમિત અભિવ્યક્તિ સાથે મેળ ખાય છે કે કેમ.
    2. તમારા રેજેક્સ ફોર્મ્યુલા માટે નામ વ્યાખ્યાયિત કરો.
    3. નામિત સૂત્રના આધારે ડેટા માન્યતા નિયમને ગોઠવો.
    4. કોપી કરોતમે ઇચ્છો તેટલા સેલ માટે માન્યતા સેટિંગ્સ.

    એક યોજના જેવું લાગે છે? ચાલો તેને વ્યવહારમાં અમલમાં મૂકવાનો પ્રયાસ કરીએ!

    કસ્ટમ રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને એક્સેલ ડેટા વેલિડેશન

    આ ઉદાહરણ ખૂબ જ સામાન્ય કેસને સંબોધે છે - માત્ર ચોક્કસ પેટર્નના મૂલ્યોને કેવી રીતે મંજૂરી આપવી.

    ધારો કે તમે તમારી વર્કશીટમાં કેટલાક SKU કોડ્સ રાખો છો અને ખાતરી કરવા માંગો છો કે આપેલ પેટર્ન સાથે મેળ ખાતા કોડ જ સૂચિમાં આવે. પૂરી પાડવામાં આવેલ છે કે દરેક SKU માં હાઇફન વડે અલગ કરાયેલા અક્ષરોના 2 જૂથોનો સમાવેશ થાય છે, પ્રથમ જૂથમાં 3 કેપિટલ અક્ષરો અને બીજા જૂથમાં - 3 અંકોનો સમાવેશ થાય છે, તમે નીચેના રેજેક્સનો ઉપયોગ કરીને આવા મૂલ્યોને ઓળખી શકો છો.

    પેટર્ન : ^[A-Z]{3}-\d{3}$

    કૃપા કરીને નોંધ લો કે શબ્દમાળાની શરૂઆત (^) અને અંત ($) એન્કર કરેલ છે, તેથી આ સિવાય અન્ય કોઈ અક્ષરો નથી પેટર્ન કોષમાં દાખલ કરી શકાય છે.

    1. કસ્ટમ રેજેક્સ મેચ ફંક્શન ઉમેરો

    તમારી વર્કબુકમાં RegExpMatch ફંક્શન દાખલ કરીને પ્રારંભ કરો. કોડ પહેલાથી જ અમારા એક્સેલ ગુરુઓ દ્વારા લખાયેલો છે, તેથી તમારે તેને ઉપર-લિંક કરેલા પેજ પરથી કોપી કરીને તમારા VBA એડિટરમાં પેસ્ટ કરવાની જરૂર છે.

    તમારા સંદર્ભ માટે ફંક્શનનું સિન્ટેક્સ અહીં છે:

    RegExpMatch(ટેક્સ્ટ , પેટર્ન, [મેચ_કેસ])

    ક્યાં:

    • ટેક્સ્ટ (જરૂરી) - એક સ્રોત શબ્દમાળા (અમારા સંદર્ભમાં - એક માન્ય કોષ).
    • <9 પેટર્ન (જરૂરી) - મેચ કરવા માટે નિયમિત અભિવ્યક્તિ.
    • મેચ_કેસ (વૈકલ્પિક) - મેચ પ્રકાર. સાચું અથવા છોડી દીધું - કેસ-સંવેદનશીલ FALSE - કેસ-સંવેદનશીલ.

    ટીપ. જો તમે અમારા અલ્ટીમેટ સ્યુટના વપરાશકર્તા છો, તો તમે તમારી વર્કબુકમાં કોઈપણ VBA કોડ ઉમેર્યા વિના એક્સેલમાં રેજેક્સ ડેટા વેલિડેશન કરી શકો છો. ફક્ત અમારા Regex સાધનો સાથે સમાવિષ્ટ કસ્ટમ 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 નો ઉપયોગ કરો, અને તેથી એક. જ્યાં સુધી તે હાલમાં પસંદ કરેલા કોષ સાથે મેળ ખાતો હોય ત્યાં સુધી તમે કયા ચોક્કસ સંદર્ભનો ઉપયોગ કરો છો તેનાથી કોઈ ફરક પડતો નથી.

    પગલાં-દર-પગલાં માટેસૂચનાઓ, કૃપા કરીને જુઓ એક્સેલમાં નામવાળી ફોર્મ્યુલા કેવી રીતે બનાવવી.

    3. ડેટા વેલિડેશન સેટ કરો

    ચેક કરવા માટેનો પ્રથમ કોષ પસંદ કરો (અમારા કિસ્સામાં A5) અને નામના ફોર્મ્યુલાના આધારે કસ્ટમ ડેટા વેલિડેશન નિયમ બનાવો. આ માટે, નીચેના કરો:

    1. ડેટા ટેબ > ડેટા માન્યતા પર ક્લિક કરો.
    2. મંજૂરી આપો<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. નીચેના કોષોમાં નિયમની નકલ કરો.

    જો તમે માન્ય કોષમાં દાખલ કરેલ ઇમેઇલ સરનામું રેજેક્સ પેટર્ન સાથે મેળ ખાતું નથી, તો નીચેની ચેતવણી પૉપ અપ:

    રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને પાસવર્ડ માન્ય કરી રહ્યાં છે

    પાસવર્ડની માન્યતા માટે રેજેક્સનો ઉપયોગ કરતી વખતે, તમારા રેગ્યુલર એક્સપ્રેશનને બરાબર શું તપાસવું જોઈએ તે નક્કી કરવાની પ્રથમ વસ્તુ છે. અહીં કેટલાક ઉદાહરણો છે જે તમને યોગ્ય માર્ગ પર સેટ કરી શકે છે.

    પાસવર્ડ ઓછામાં ઓછો 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,}$

    સ્થાપિત પેટર્ન સાથે, તમે ડેટા વેલિડેશન સેટ કરવા આગળ વધી શકો છો:

    1. C2 માં તમારો પાસવર્ડ રેજેક્સ દાખલ કરો.
    2. સેલ A1 પસંદ કરો અને નામનું નામનું ફોર્મ્યુલા બનાવો Validate_Password :

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

    3. સેલ C5 માટે, નીચેના સૂત્ર સાથે કસ્ટમ માન્યતા નિયમ બનાવો. ખાલી અવગણો ચેક બોક્સને નાપસંદ કરવાનું યાદ રાખો.

      =Validate_Password

    4. તમે ઇચ્છો તેટલા સેલમાં નિયમની નકલ કરો.

    હવે, તમે સૂચિમાં સુરક્ષિત રીતે નવા પાસવર્ડ ઉમેરી શકો છો. જો ઇનપુટ સ્ટ્રિંગ રેજેક્સ સાથે મેળ ખાતી નથી, તો નીચેની ચેતવણી તમને યાદ કરાવશે કે કયા પ્રકારનાં મૂલ્યો સ્વીકારવામાં આવે છે:

    રેજેક્સ ડેટા વેલિડેશન કામ કરતું નથી

    જો તમારા એક્સેલમાં રેજેક્સ ડેટા વેલિડેશન કામ કરતું નથી , મોટે ભાગે તે નીચેનામાંથી એક કારણને કારણે છે.

    RegExpMatch ફંક્શન ખૂટે છે

    ડેટા માન્યતા લાગુ કરતાં પહેલાં, તમારી વર્કબુકમાં RegExpMatch ફંક્શનનો કોડ દાખલ કરવાની ખાતરી કરો.

    ખોટો નિયમિતઅભિવ્યક્તિ

    તમારું રેજેક્સ અપેક્ષા મુજબ કામ કરે છે તેની ખાતરી કરવા માટે, તમે અમુક કોષમાં RegExpMatch ફોર્મ્યુલા દાખલ કરી શકો છો અને પરિણામોની તપાસ કરી શકો છો. વધુ માહિતી માટે, કૃપા કરીને ઉદાહરણો સાથે મેળ ખાતા એક્સેલ રેગ્યુલર એક્સપ્રેશન જુઓ.

    તમારા રેગ્યુલર એક્સપ્રેશનનું પૃથ્થકરણ અને ડીબગ કરવા માટે, તમે RegEx101 અથવા RegExr જેવી મફત ઓનલાઈન રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરી શકો છો.

    ખોટા નામવાળી ફોર્મ્યુલા

    ડેટા માન્યતા નિષ્ફળતાનું એક ખૂબ જ સામાન્ય કારણ એ રેજેક્સ નામનું સૂત્ર છે જે ખોટા કોષનો ઉલ્લેખ કરે છે. બધા ઉદાહરણોમાં, અમે A1 નો સંદર્ભ આપતા સૂત્રને વ્યાખ્યાયિત કરવાની ભલામણ કરી છે:

    =RegExpMatch(A1, regex)

    આ ફક્ત ત્યારે જ કાર્ય કરે છે જો કોષ A1 સક્રિય હોય જ્યારે નામ અને સાપેક્ષ સંદર્ભ ($ ચિહ્ન વિના) નો ઉપયોગ થાય છે.

    વિચાર એ છે કે ફોર્મ્યુલા (A1) માં ઉલ્લેખિત સંબંધિત સંદર્ભ માન્ય કોષની સંબંધિત સ્થિતિના આધારે આપમેળે બદલાઈ જશે. બીજા શબ્દોમાં કહીએ તો, સેલ A1 માત્ર સુવિધા અને સુસંગતતા માટે પસંદ કરવામાં આવે છે. હકીકતમાં, તમે સેલ B1 પસંદ કરી શકો છો અને B1 નો સંદર્ભ લઈ શકો છો, સેલ C1 પસંદ કરી શકો છો અને C1 નો સંદર્ભ લઈ શકો છો, વગેરે. મુખ્ય બાબત એ છે કે સંદર્ભિત કોષ સક્રિય કોષ હોવો જોઈએ.

    તમારી નામવાળી ફોર્મ્યુલા સાચી છે કે કેમ તે ચકાસવા માટે, તમારી વર્કશીટમાં કોઈપણ સેલ પસંદ કરો, ખોલો. મેનેજરને નામ આપો અને સૂત્ર કયા કોષ તરફ નિર્દેશ કરે છે તે જુઓ. જો તે હાલમાં પસંદ કરેલ કોષનો સંદર્ભ આપે છે, તો સૂત્ર યોગ્ય છે. નહિંતર, તમારે પ્રથમ દલીલમાં સંદર્ભ બદલવો જોઈએ.

    સ્ક્રીનશોટમાંનીચે, સેલ A7 પસંદ કરેલ છે, એટલે કે નામવાળી ફોર્મ્યુલા પ્રથમ દલીલમાં A7 હોવી જોઈએ. બીજી દલીલ ($A$2) રેજેક્સનો સંદર્ભ આપે છે - આ સંદર્ભ સ્થિર રહેવાનો છે, તેથી તે $ ચિહ્ન સાથે લૉક છે.

    પસંદ કરેલ ખાલી વિકલ્પને અવગણો

    કસ્ટમ ડેટા વેલિડેશન નિયમ સેટ કરતી વખતે, ખાલી અવગણો ચેક બૉક્સને નાપસંદ કરવું મહત્વપૂર્ણ છે. નહિંતર, નીચેના કારણોસર નિયમ કામ કરશે નહીં:

    જો કોઈ મેળ ન મળે, તો RegExpMatch ફંક્શન FALSE પરત કરે છે. પસંદ કરેલ ખાલી અવગણો વિકલ્પ સાથે, FALSE ખાલી ને સમકક્ષ થાય છે અને અવગણવામાં આવે છે.

    એક વૈકલ્પિક ઉકેલ સ્પષ્ટપણે જણાવે છે કે ફોર્મ્યુલા TRUE પરત કરવી જોઈએ:

    =RegExpMatch(…)=TRUE

    રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને એક્સેલમાં ડેટા વેલિડેશન કેવી રીતે કરવું. વાંચવા બદલ હું તમારો આભાર માનું છું અને આવતા અઠવાડિયે તમને અમારા બ્લોગ પર મળવાની રાહ જોઉં છું!

    ડાઉનલોડ માટે પ્રેક્ટિસ વર્કબુક

    Regex ડેટા વેલિડેશન ઉદાહરણો (.xlsm ફાઇલ)

    <3

    માઈકલ બ્રાઉન સોફ્ટવેર ટૂલ્સનો ઉપયોગ કરીને જટિલ પ્રક્રિયાઓને સરળ બનાવવાના જુસ્સા સાથે સમર્પિત ટેકનોલોજી ઉત્સાહી છે. ટેક ઉદ્યોગમાં એક દાયકા કરતાં વધુ અનુભવ સાથે, તેમણે Microsoft Excel અને Outlook, તેમજ Google Sheets અને Docsમાં તેમની કુશળતાને સન્માનિત કરી છે. માઈકલનો બ્લોગ તેના જ્ઞાન અને કુશળતાને અન્ય લોકો સાથે શેર કરવા માટે સમર્પિત છે, ઉત્પાદકતા અને કાર્યક્ષમતામાં સુધારો કરવા માટે અનુસરવામાં સરળ ટીપ્સ અને ટ્યુટોરિયલ્સ પ્રદાન કરે છે. ભલે તમે અનુભવી વ્યાવસાયિક હોવ કે શિખાઉ માણસ, માઈકલનો બ્લોગ આ આવશ્યક સોફ્ટવેર સાધનોમાંથી સૌથી વધુ મેળવવા માટે મૂલ્યવાન આંતરદૃષ્ટિ અને વ્યવહારુ સલાહ આપે છે.