Excel-ൽ Regex മാസ്റ്ററിംഗ്: ഒരു സമഗ്ര ഗൈഡ്
പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിനും സ്ട്രിംഗ് കൃത്രിമത്വത്തിനുമുള്ള ശക്തമായ ടൂളുകളാണ് റെഗുലർ എന്നറിയപ്പെടുന്ന റെഗുലർ എക്സ്പ്രഷനുകൾ. മൈക്രോസോഫ്റ്റ് എക്സലിൽ, സങ്കീർണ്ണമായ ടെക്സ്റ്റ് പ്രോസസ്സിംഗ് ജോലികൾ കൈകാര്യം ചെയ്യുന്നത് എളുപ്പമാക്കിക്കൊണ്ട്, ഡാറ്റാ കൃത്രിമത്വം വർദ്ധിപ്പിക്കുന്നതിന് നിങ്ങൾക്ക് Regex പ്രയോജനപ്പെടുത്താം.
പാറ്റേണുകൾ എക്സ്ട്രാക്റ്റുചെയ്യുന്നതിനും പൊരുത്തപ്പെടുത്തുന്നതിനും മാറ്റിസ്ഥാപിക്കുന്നതിനും എക്സലിൽ റീജക്സ് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഈ ഗൈഡ് പര്യവേക്ഷണം ചെയ്യും. ആവശ്യമായ സജ്ജീകരണം, Excel-ലെ Regex-നുള്ള പ്രത്യേക പ്രതീകങ്ങൾ, ലെഫ്റ്റ്, മിഡ്, റൈറ്റ്, Instr പോലുള്ള ഇതര ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾ എന്നിവയും ഞങ്ങൾ ചർച്ച ചെയ്യും.
കമാൻഡ് | വിവരണം |
---|---|
CreateObject("VBScript.RegExp") | പതിവ് എക്സ്പ്രഷനുകൾ കൈകാര്യം ചെയ്യാൻ ഒരു RegExp ഒബ്ജക്റ്റ് സൃഷ്ടിക്കുന്നു. |
regex.Pattern | വാചകത്തിൽ തിരയേണ്ട പാറ്റേൺ നിർവചിക്കുന്നു. |
regex.Global | regex എല്ലാ പൊരുത്തങ്ങളും (ശരി) കണ്ടെത്തണോ അതോ ആദ്യത്തേത് (തെറ്റ്) കണ്ടെത്തണമോ എന്ന് വ്യക്തമാക്കുന്നു. |
regex.Test(cell.Value) | സെൽ മൂല്യം റീജക്സ് പാറ്റേണുമായി പൊരുത്തപ്പെടുന്നുണ്ടോയെന്ന് പരിശോധിക്കുന്നു. |
regex.Execute(cell.Value) | സെൽ മൂല്യത്തിൽ റീജക്സ് പാറ്റേൺ നിർവ്വഹിക്കുകയും പൊരുത്തങ്ങൾ നൽകുകയും ചെയ്യുന്നു. |
cell.Offset(0, 1).Value | നിലവിലെ സെല്ലിൻ്റെ വലതുവശത്തുള്ള സെൽ ഒരു കോളം ആക്സസ് ചെയ്യുന്നു. |
For Each cell In Selection | തിരഞ്ഞെടുത്ത ശ്രേണിയിലെ ഓരോ സെല്ലിലൂടെയും ലൂപ്പ് ചെയ്യുന്നു. |
Excel-ൽ Regex-നായി VBA-യിലേക്ക് ആഴത്തിൽ മുങ്ങുക
മുകളിൽ നൽകിയിരിക്കുന്ന സ്ക്രിപ്റ്റുകൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് കാണിക്കുന്നു Regex Microsoft Excel-ൽ ഉപയോഗിക്കുന്നു VBA (അപ്ലിക്കേഷനുകൾക്കുള്ള വിഷ്വൽ ബേസിക്). ആദ്യ തിരക്കഥ, Sub RegexInCell(), ആരംഭിക്കുന്നു a RegExp ഉപയോഗിക്കുന്ന വസ്തു CreateObject("VBScript.RegExp"). ഈ ഒബ്ജക്റ്റ് ഒരു പാറ്റേൺ ഉപയോഗിച്ച് ക്രമീകരിച്ചിരിക്കുന്നു, ഈ സാഹചര്യത്തിൽ, \d{4}, 4 അക്ക സംഖ്യയുമായി പൊരുത്തപ്പെടാൻ. ദി Global പ്രോപ്പർട്ടി സജ്ജീകരിച്ചിരിക്കുന്നു True സെൽ മൂല്യത്തിലെ എല്ലാ പൊരുത്തങ്ങളും കണ്ടെത്തിയെന്ന് ഉറപ്പാക്കാൻ. തിരഞ്ഞെടുത്ത ശ്രേണിയിലെ ഓരോ സെല്ലിലൂടെയും സ്ക്രിപ്റ്റ് ലൂപ്പ് ചെയ്യുന്നു For Each cell In Selection. എങ്കിൽ regex.Test(cell.Value) രീതി ശരിയാണെന്ന് നൽകുന്നു, ഒരു പൊരുത്തം സൂചിപ്പിക്കുന്നു, പൊരുത്തപ്പെടുന്ന മൂല്യം ഉപയോഗിച്ച് അടുത്തുള്ള സെല്ലിൽ സ്ഥാപിച്ചിരിക്കുന്നു cell.Offset(0, 1).Value. പൊരുത്തമൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, "പൊരുത്തമില്ല" എന്നത് അടുത്തുള്ള സെല്ലിൽ സ്ഥാപിക്കും.
രണ്ടാമത്തെ തിരക്കഥ, Sub ExtractPatterns(), സമാനമാണ് എന്നാൽ ഒരു പ്രത്യേക ശ്രേണി ലക്ഷ്യമിടുന്നു, Range("A1:A10"), ഒരു മുൻനിശ്ചയിച്ച പ്രദേശത്ത് പാറ്റേൺ വേർതിരിച്ചെടുക്കൽ പ്രദർശിപ്പിക്കാൻ. ഇത് പാറ്റേൺ ഉപയോഗിക്കുന്നു [A-Za-z]+ അക്ഷരങ്ങൾ അടങ്ങിയ ഏതെങ്കിലും പദവുമായി പൊരുത്തപ്പെടാൻ. ഈ സ്ക്രിപ്റ്റും ഉപയോഗിക്കുന്നു regex.Test ഒപ്പം regex.Execute പൊരുത്തങ്ങൾ കണ്ടെത്തുന്നതിനും ആദ്യ പൊരുത്തം അടുത്തുള്ള സെല്ലിൽ സ്ഥാപിക്കുന്നതിനുമുള്ള രീതികൾ. ഈ സ്ക്രിപ്റ്റുകൾ ശക്തമായ സംയോജനത്തെ ചിത്രീകരിക്കുന്നു Regex ഒപ്പം Excel VBA ടെക്സ്റ്റ് കൃത്രിമത്വത്തിനായി, Excel-ൻ്റെ ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾ കൊണ്ട് മാത്രം ബുദ്ധിമുട്ടുള്ള സങ്കീർണ്ണമായ തിരയലുകളും ഡാറ്റ എക്സ്ട്രാക്ഷനും നടത്തുന്നതിനുള്ള ഒരു രീതി നൽകുന്നു.
Excel-ൽ Regex-നായി VBA ഉപയോഗിക്കുന്നു: ഇൻ-സെൽ പ്രവർത്തനങ്ങളും ലൂപ്പിംഗും
VBA ഉപയോഗിക്കുന്നു (അപ്ലിക്കേഷനുകൾക്കുള്ള വിഷ്വൽ ബേസിക്)
Sub RegexInCell()
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\d{4}" ' Example pattern: Match a 4-digit number
regex.Global = True
Dim cell As Range
For Each cell In Selection
If regex.Test(cell.Value) Then
cell.Offset(0, 1).Value = regex.Execute(cell.Value)(0)
Else
cell.Offset(0, 1).Value = "No match"
End If
Next cell
End Sub
Excel VBA-ൽ Regex ഉപയോഗിച്ച് പാറ്റേണുകൾ വേർതിരിച്ചെടുക്കുന്നു
VBA ഉപയോഗിക്കുന്നു (അപ്ലിക്കേഷനുകൾക്കുള്ള വിഷ്വൽ ബേസിക്)
Sub ExtractPatterns()
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "[A-Za-z]+" ' Example pattern: Match words
regex.Global = True
Dim cell As Range
For Each cell In Range("A1:A10") ' Adjust range as needed
If regex.Test(cell.Value) Then
cell.Offset(0, 1).Value = regex.Execute(cell.Value)(0)
Else
cell.Offset(0, 1).Value = "No match"
End If
Next cell
End Sub
Excel-ൽ Regex-നായി VBA ഉപയോഗിക്കുന്നു: ഇൻ-സെൽ പ്രവർത്തനങ്ങളും ലൂപ്പിംഗും
VBA ഉപയോഗിക്കുന്നു (അപ്ലിക്കേഷനുകൾക്കുള്ള വിഷ്വൽ ബേസിക്)
Sub RegexInCell()
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\d{4}" ' Example pattern: Match a 4-digit number
regex.Global = True
Dim cell As Range
For Each cell In Selection
If regex.Test(cell.Value) Then
cell.Offset(0, 1).Value = regex.Execute(cell.Value)(0)
Else
cell.Offset(0, 1).Value = "No match"
End If
Next cell
End Sub
Excel VBA-ൽ Regex ഉപയോഗിച്ച് പാറ്റേണുകൾ വേർതിരിച്ചെടുക്കുന്നു
VBA ഉപയോഗിക്കുന്നു (അപ്ലിക്കേഷനുകൾക്കുള്ള വിഷ്വൽ ബേസിക്)
Sub ExtractPatterns()
Dim regex As Object
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "[A-Za-z]+" ' Example pattern: Match words
regex.Global = True
Dim cell As Range
For Each cell In Range("A1:A10") ' Adjust range as needed
If regex.Test(cell.Value) Then
cell.Offset(0, 1).Value = regex.Execute(cell.Value)(0)
Else
cell.Offset(0, 1).Value = "No match"
End If
Next cell
End Sub
Regex, VBA എന്നിവ ഉപയോഗിച്ച് Excel മെച്ചപ്പെടുത്തുന്നു
Excel പോലുള്ള ശക്തമായ ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾ കൊണ്ട് സജ്ജീകരിച്ചിരിക്കുന്നു LEFT, MID, RIGHT, ഒപ്പം INSTR, VBA-യുമായി റെഗുലർ എക്സ്പ്രഷനുകൾ (Regex) സമന്വയിപ്പിക്കുന്നത് Excel-ൻ്റെ ടെക്സ്റ്റ് മാനിപ്പുലേഷൻ കഴിവുകൾ ഗണ്യമായി വർദ്ധിപ്പിക്കും. സാധാരണ Excel ഫംഗ്ഷനുകൾ കൊണ്ട് മാത്രം നേടിയെടുക്കാൻ ബുദ്ധിമുട്ടുള്ള സങ്കീർണ്ണമായ പാറ്റേൺ പൊരുത്തപ്പെടുത്തലും ടെക്സ്റ്റ് എക്സ്ട്രാക്ഷനും Regex അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, വലിയ ഡാറ്റാസെറ്റുകളിൽ നിന്ന് ഇമെയിൽ വിലാസങ്ങൾ, ഫോൺ നമ്പറുകൾ അല്ലെങ്കിൽ നിർദ്ദിഷ്ട ഫോർമാറ്റുകൾ എക്സ്ട്രാക്റ്റുചെയ്യാൻ നിങ്ങൾക്ക് Regex ഉപയോഗിക്കാം. ഡാറ്റ വൃത്തിയാക്കുന്നതിനും സ്റ്റാൻഡേർഡ് ചെയ്യുന്നതിനും ഇത് പ്രത്യേകിച്ചും ഉപയോഗപ്രദമാകും, അവിടെ നിർദ്ദിഷ്ട പാറ്റേണുകൾ തിരിച്ചറിയുകയും കാര്യക്ഷമമായി വേർതിരിച്ചെടുക്കുകയും വേണം.
Excel-ൽ Regex സജ്ജീകരിക്കുന്നതിന് VBA-യുടെ ഉപയോഗം ആവശ്യമാണ്, കാരണം Excel പ്രാദേശികമായി സെല്ലുകളിലെ Regex ഫംഗ്ഷനുകളെ പിന്തുണയ്ക്കുന്നില്ല. ഒരു VBA മാക്രോ സൃഷ്ടിക്കുന്നതിലൂടെ, നിങ്ങൾക്ക് തിരഞ്ഞെടുത്ത ശ്രേണികളിലേക്കോ മുഴുവൻ നിരകളിലേക്കോ Regex പാറ്റേണുകൾ പ്രയോഗിക്കാൻ കഴിയും, ഡാറ്റ എക്സ്ട്രാക്ഷൻ്റെയും കൃത്രിമത്വത്തിൻ്റെയും പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യുന്നു. ഈ സമീപനം സമയം ലാഭിക്കുക മാത്രമല്ല, മാനുവൽ ഡാറ്റ കൈകാര്യം ചെയ്യുന്നതുമായി ബന്ധപ്പെട്ട പിശകുകളുടെ അപകടസാധ്യത കുറയ്ക്കുകയും ചെയ്യുന്നു. കൂടാതെ, Regex-നെ VBA-മായി സംയോജിപ്പിക്കുന്നത് കൂടുതൽ ചലനാത്മകവും വഴക്കമുള്ളതുമായ ഡാറ്റ പ്രോസസ്സിംഗിന് അനുവദിക്കുന്നു, ഇത് ഉപയോക്താക്കളെ അവരുടെ സ്ക്രിപ്റ്റുകൾ നിർദ്ദിഷ്ട ആവശ്യകതകൾക്കും ഡാറ്റാസെറ്റുകൾക്കും അനുയോജ്യമാക്കാൻ പ്രാപ്തരാക്കുന്നു.
Excel-ൽ Regex ഉപയോഗിക്കുന്നതിനെക്കുറിച്ചുള്ള പൊതുവായ ചോദ്യങ്ങളും ഉത്തരങ്ങളും
- Excel-ൽ VBA എങ്ങനെ പ്രവർത്തനക്ഷമമാക്കാം?
- വിബിഎ എഡിറ്റർ തുറക്കാൻ ഡവലപ്പർ ടാബിൽ പോയി വിഷ്വൽ ബേസിക്കിൽ ക്ലിക്കുചെയ്ത് എക്സലിൽ VBA പ്രവർത്തനക്ഷമമാക്കാം.
- Excel ഫോർമുലകളിൽ എനിക്ക് Regex നേരിട്ട് ഉപയോഗിക്കാനാകുമോ?
- ഇല്ല, Excel ഫോർമുലകളിൽ Regex പ്രാദേശികമായി പിന്തുണയ്ക്കുന്നില്ല. Excel-ൽ Regex ഉപയോഗിക്കുന്നതിന് നിങ്ങൾ VBA ഉപയോഗിക്കേണ്ടതുണ്ട്.
- ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകളേക്കാൾ Regex ഉപയോഗിക്കുന്നതിൻ്റെ പ്രയോജനം എന്താണ്?
- ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകളെ അപേക്ഷിച്ച് പാറ്റേൺ പൊരുത്തപ്പെടുത്തലിലും ടെക്സ്റ്റ് എക്സ്ട്രാക്ഷനിലും Regex കൂടുതൽ വഴക്കവും ശക്തിയും നൽകുന്നു LEFT, MID, ഒപ്പം RIGHT.
- Excel-ൽ Regex ഉപയോഗിച്ച് എനിക്ക് എങ്ങനെ ഇമെയിൽ വിലാസങ്ങൾ എക്സ്ട്രാക്റ്റ് ചെയ്യാം?
- നിങ്ങൾക്ക് ഒരു Regex പാറ്റേൺ ഉപയോഗിക്കാം [\w\.-]+@[\w\.-]+\.\w{2,4} ഒരു ഡാറ്റാസെറ്റിൽ നിന്ന് ഇമെയിൽ വിലാസങ്ങൾ എക്സ്ട്രാക്റ്റുചെയ്യുന്നതിന് ഒരു VBA സ്ക്രിപ്റ്റിൽ.
- Excel-ൽ Regex-ൻ്റെ പ്രായോഗിക ഉപയോഗ കേസ് എന്താണ്?
- Excel-ലെ Regex-നുള്ള ഒരു പ്രായോഗിക ഉപയോഗ കേസ് ഫോൺ നമ്പറുകൾ വൃത്തിയാക്കുകയും സ്റ്റാൻഡേർഡ് ചെയ്യുകയും ചെയ്യുക അല്ലെങ്കിൽ ഒരു വലിയ ഡാറ്റാസെറ്റിൽ നിന്ന് നിർദ്ദിഷ്ട ഡാറ്റ ഫോർമാറ്റുകൾ വേർതിരിച്ചെടുക്കുക എന്നതാണ്.
- VBA-യിൽ Regex കേസ് സെൻസിറ്റീവ് ആണോ?
- ഡിഫോൾട്ടായി, VBA-യിലെ Regex കേസ്-സെൻസിറ്റീവ് ആണ്, എന്നാൽ നിങ്ങൾക്ക് ഇത് സജ്ജമാക്കാൻ കഴിയും IgnoreCase സ്വത്ത് True അത് കേസ്-ഇൻസെൻസിറ്റീവ് ആക്കുന്നതിന്.
- Regex ഉപയോഗിച്ച് ഒരു സെല്ലിൽ ഒന്നിലധികം പൊരുത്തങ്ങൾ എങ്ങനെ കൈകാര്യം ചെയ്യാം?
- നിങ്ങൾക്ക് സജ്ജമാക്കാൻ കഴിയും Global Regex ഒബ്ജക്റ്റിൻ്റെ സ്വത്ത് True ഒരു സെൽ മൂല്യത്തിൽ എല്ലാ പൊരുത്തങ്ങളും കണ്ടെത്താൻ.
- ചില സാധാരണ Regex പാറ്റേണുകൾ എന്തൊക്കെയാണ്?
- സാധാരണ Regex പാറ്റേണുകൾ ഉൾപ്പെടുന്നു \d+ അക്കങ്ങൾക്കായി, \w+ വാക്കുകൾക്ക്, ഒപ്പം [A-Za-z] അക്ഷരങ്ങൾക്കായി.
- VBA-യിലെ Regex ഉപയോഗിച്ച് എനിക്ക് ടെക്സ്റ്റ് മാറ്റിസ്ഥാപിക്കാൻ കഴിയുമോ?
- അതെ, നിങ്ങൾക്ക് ഉപയോഗിക്കാം regex.Replace പൊരുത്തപ്പെടുന്ന പാറ്റേണുകൾ VBA-യിൽ പുതിയ ടെക്സ്റ്റ് ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാനുള്ള രീതി.
പൊതിയുന്നു: Excel-ലെ Regex-ൻ്റെ ശക്തി
VBA സ്ക്രിപ്റ്റുകൾ വഴി Excel-ൽ Regex പ്രയോജനപ്പെടുത്തുന്നത്, സങ്കീർണ്ണമായ ടെക്സ്റ്റ് പ്രോസസ്സിംഗ് കൈകാര്യം ചെയ്യുന്നത് എളുപ്പമാക്കുന്നു, ഡാറ്റ കൃത്രിമത്വ കഴിവുകൾ ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു. ഈ സ്ക്രിപ്റ്റുകൾ സമന്വയിപ്പിക്കുന്നതിലൂടെ, ഉപയോക്താക്കൾക്ക് ഡാറ്റാസെറ്റുകൾക്കുള്ളിലെ നിർദ്ദിഷ്ട പാറ്റേണുകളുടെ വേർതിരിച്ചെടുക്കലും മാറ്റിസ്ഥാപിക്കലും ഓട്ടോമേറ്റ് ചെയ്യാനും കാര്യക്ഷമതയും കൃത്യതയും വർദ്ധിപ്പിക്കാനും കഴിയും. ശക്തമാണെങ്കിലും, വിവിധ ടെക്സ്റ്റ് മാനിപ്പുലേഷൻ ടാസ്ക്കുകൾക്കായി ഒപ്റ്റിമൽ പ്രകടനം ഉറപ്പാക്കാൻ Excel-ൻ്റെ ബിൽറ്റ്-ഇൻ ഫംഗ്ഷനുകൾക്കൊപ്പം Regex വിവേകത്തോടെ ഉപയോഗിക്കണം.