ഉള്ളടക്ക പട്ടിക
നമുക്ക് വലിയ അളവിലുള്ള ഡാറ്റ ഉള്ളപ്പോൾ, ഡാറ്റാസെറ്റിൽ നിന്ന് ഏതെങ്കിലും നിർദ്ദിഷ്ട ഡാറ്റ എക്സ്ട്രാക്റ്റുചെയ്യുന്നത് ചിലപ്പോൾ ബുദ്ധിമുട്ടാണ്. Excel-ന്റെ INDEX , MATCH ഫംഗ്ഷനുകൾക്കൊപ്പം ഒരു വലിയ ഡാറ്റാസെറ്റിൽ പോലും ഏത് തരത്തിലുള്ള ഡാറ്റയും വീണ്ടെടുക്കാനാകും. Excel-ൽ ഏത് പ്രവർത്തനവും പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ഏറ്റവും ഫലപ്രദവും വേഗതയേറിയതും സുരക്ഷിതവുമായ രീതിയാണ് VBA നടപ്പിലാക്കുന്നത്. ഈ ലേഖനത്തിൽ, VBA മാക്രോ ഉപയോഗിച്ച് Excel-ൽ ഒന്നിലധികം മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കി INDEX MATCH എങ്ങനെ നിർവഹിക്കാമെന്ന് ഞങ്ങൾ 3 വ്യത്യസ്ത രീതികൾ കാണിക്കും.
ഡൗൺലോഡ് ചെയ്യുക വർക്ക്ബുക്ക്
നിങ്ങൾക്ക് ഇവിടെ നിന്ന് സൗജന്യ പ്രാക്ടീസ് Excel വർക്ക്ബുക്ക് ഡൗൺലോഡ് ചെയ്യാം.
VBA INDEX MATCH Multiple Criteria.xlsm അടിസ്ഥാനമാക്കി
Excel-ലെ ഒന്നിലധികം മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കി VBA INDEX MATCH ഉള്ള 3 രീതികൾ
ഇനിപ്പറയുന്ന വിഭാഗങ്ങളിൽ, ഒരു ശ്രേണിക്ക് വേണ്ടിയുള്ള ഒന്നിലധികം മാനദണ്ഡങ്ങളെ അടിസ്ഥാനമാക്കി INDEX MATCH എങ്ങനെ നിർവഹിക്കാമെന്ന് ഞങ്ങൾ കാണിച്ചുതരാം , ഒരു നിർദ്ദിഷ്ട തിരഞ്ഞെടുപ്പിന് കൂടാതെ ഒരു ടേബിളിനായി VBA ഉള്ള Excel-ൽ.
മുകളിൽ ഈ ലേഖനം പിന്തുടരുന്ന ഡാറ്റാസെറ്റ് ഞങ്ങളുടെ പക്കലുണ്ട്. ഡാറ്റാസെറ്റിലെ ഓരോ വിദ്യാർത്ഥിയുടെയും വിദ്യാർത്ഥിയുടെ പേര് , വിദ്യാർത്ഥി ഐഡി, , പരീക്ഷാ മാർക്കുകൾ എന്നിവ ഞങ്ങളുടെ പക്കലുണ്ട്. മറ്റ് രണ്ട് കോളങ്ങളിൽ നിന്നുള്ള വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഒരു കോളത്തിൽ വസിക്കുന്ന ഒരു നിശ്ചിത ഫലം ഞങ്ങൾ എക്സ്ട്രാക്റ്റുചെയ്യും.
മാനദണ്ഡം - 1: Excel-ലെ മൾട്ടിപ്പിൾ (രണ്ട്) ഡൈമൻഷണൽ ലുക്കപ്പിനായി INDEX MATCH ഉപയോഗിച്ച് VBA ഉൾച്ചേർക്കുക
ഇനിപ്പറയുന്ന ചിത്രം പരിഗണിക്കുക. ഞങ്ങൾ ഒരു നിർദ്ദിഷ്ട വിദ്യാർത്ഥിയുടെ പേര് " എഡ്ജ്" സെല്ലിൽ സംഭരിച്ചുG4 ; ഞങ്ങൾ ഫലം , പരീക്ഷാ മാർക്കുകൾ എന്നിവ തിരയുന്ന കോളം സെൽ G5 -ൽ സംഭരിച്ചിരിക്കുന്നു. ഞങ്ങൾ പരീക്ഷാ മാർക്കുകൾ കോളത്തിൽ തിരഞ്ഞ് സെൽ G6 ൽ " എഡ്ജ്" ലഭിച്ച മാർക്ക് സംഭരിക്കും.
<0 > ഇൻഡെക്സ്ഉള്ള ദ്വിമാന അറേ, VBA ഉള്ള Excel-ൽ MATCH എന്നിവ ലുക്ക്അപ്പ് ചെയ്യാനുള്ള ഘട്ടങ്ങൾക്ക് കാരണമാകുന്നു.ചുവടെ നൽകിയിരിക്കുന്നു.ഘട്ടങ്ങൾ:
- തുടക്കത്തിൽ, നിങ്ങളുടെ കീബോർഡിൽ Alt + F11 അമർത്തുക അല്ലെങ്കിൽ ഇതിലേക്ക് പോകുക ടാബ് ഡെവലപ്പർ -> വിഷ്വൽ ബേസിക് വിഷ്വൽ ബേസിക് എഡിറ്റർ തുറക്കാൻ മെനു ബാർ, തിരുകുക -> മൊഡ്യൂൾ .
- പിന്നെ, താഴെ പറയുന്ന കോഡ് പകർന്നു കോഡിലേക്ക് ഒട്ടിക്കുക window.
6985
നിങ്ങളുടെ കോഡ് ഇപ്പോൾ റൺ ചെയ്യാൻ തയ്യാറാണ്.
- ഇപ്പോൾ, നിങ്ങളുടെ F5 അമർത്തുക കീബോർഡ് അല്ലെങ്കിൽ മെനു ബാറിൽ നിന്ന് തിരഞ്ഞെടുക്കുക Run -> ഉപ/ഉപയോക്തൃഫോം പ്രവർത്തിപ്പിക്കുക. നിങ്ങൾക്ക് മാക്രോ പ്രവർത്തിപ്പിക്കുന്നതിന് ഉപമെനു ബാറിലെ സ്മോൾ റൺ ഐക്കണിൽ ക്ലിക്ക് ചെയ്യാം.
കോഡ് എക്സിക്യൂഷന് ശേഷം, ഫലം കാണുന്നതിന് താഴെയുള്ള gif നോക്കുക.
ഫലമായി, എഡ്ജ്" എന്നതിൽ മാർക്ക് ലഭിച്ചു പരീക്ഷ, 67 , സെൽ G7 -ൽ വീണ്ടെടുത്തു.
VBA കോഡ് വിശദീകരണം
3423
വർക്ക്ഷീറ്റിന്റെ വേരിയബിൾ നിർവചിക്കുന്നു.
8670
വർക്ക്ഷീറ്റിന്റെ പേര് സംഭരിക്കുക. ഞങ്ങളുടെ ഷീറ്റിന്റെ പേര് "ടു ഡൈമൻഷൻ" ആണ്, നിങ്ങൾ നൽകണംനിങ്ങളുടെ സ്പ്രെഡ്ഷീറ്റ് അനുസരിച്ചുള്ള പേര്.
5484
ഈ കോഡ് ശകലം C5:D14 ശ്രേണിയെ ലുക്കപ്പ് ശ്രേണിയായി തിരഞ്ഞെടുക്കുന്നു. തുടർന്ന് B5:B14 ശ്രേണിയിലെ G4 സെല്ലിൽ സംഭരിച്ചിരിക്കുന്ന പൊരുത്തം തിരയുക, കൂടാതെ G5 എന്ന ശ്രേണിയിലെ സെല്ലിൽ സംഭരിച്ചിരിക്കുന്ന പൊരുത്തം തിരയുക C4:D4 , ഫലം G6 എന്ന സെല്ലിലേക്ക് കൈമാറുക.
കൂടുതൽ വായിക്കുക: തീയതി പരിധിക്കുള്ള ഒന്നിലധികം മാനദണ്ഡങ്ങളോടെ INDEX MATCH എങ്ങനെ ഉപയോഗിക്കാം
മാനദണ്ഡം - 2: ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട ഫംഗ്ഷൻ (UDF) ഉപയോഗിച്ച് INDEX പ്രകാരം മാച്ച് മൂല്യം കണ്ടെത്താൻ മാക്രോ പ്രയോഗിക്കുക
ഒരു ഡാറ്റാസെറ്റിൽ നിന്ന് നിങ്ങൾക്ക് പൊരുത്തപ്പെടുന്ന മൂല്യങ്ങൾ എക്സ്ട്രാക്റ്റുചെയ്യാനാകും ഉപയോക്തൃ-നിർവചിക്കപ്പെട്ട പ്രവർത്തനം (UDF) . ഇനിപ്പറയുന്ന ചിത്രത്തിൽ നിന്ന്, ഞങ്ങൾ ചെയ്യാൻ പോകുന്നത്, ഒരു നിശ്ചിത വിദ്യാർത്ഥിയുടെ സ്റ്റുഡന്റ് ഐഡി , പരീക്ഷാ മാർക്കുകൾ എന്നിവ പാസാകുകയും ഫംഗ്ഷൻ പേര്<എറിയുകയും ചെയ്യും ആ പ്രത്യേക വിദ്യാർത്ഥിയുടെ 2> 3>
ഘട്ടങ്ങൾ:
- മുമ്പ് കാണിച്ചിരിക്കുന്നതുപോലെ, ഡെവലപ്പർ ടാബിൽ നിന്നും വിഷ്വൽ ബേസിക് എഡിറ്റർ തുറക്കുക കോഡ് വിൻഡോയിൽ ഒരു മൊഡ്യൂൾ ചേർക്കുക.
- പിന്നെ, കോഡ് വിൻഡോയിൽ, പകർത്തുക ഇനിപ്പറയുന്ന കോഡ് ഒട്ടിക്കുക .
3564
- റൺ ചെയ്യരുത് ഈ കോഡ്, സംരക്ഷിക്കുക ഇത്.
- ഇപ്പോൾ, താൽപ്പര്യമുള്ള വർക്ക് ഷീറ്റിലേക്ക് മടങ്ങുക . ഫലം സംഭരിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്ന ഏതെങ്കിലും സെൽ തിരഞ്ഞെടുക്കുക . ഞങ്ങളുടെ കാര്യത്തിൽ, ഇത് സെൽ F5 ആണ്.
- ആ സെല്ലിൽ, നിങ്ങൾ UDF എഴുതുകകോഡിൽ ( MatchByIndex ) സൃഷ്ടിക്കുകയും ഫംഗ്ഷന്റെ പരാൻതീസിസിനുള്ളിൽ നിർദ്ദിഷ്ട വിദ്യാർത്ഥിയുടെ സ്റ്റുഡന്റ് ഐഡിയും പരീക്ഷാ മാർക്കുകളും പാസാക്കുകയും ചെയ്തു.
ഇപ്രകാരം അവന്റെ ഐഡി (105) , മാർക്ക് (84) എന്നിവയിൽ നിന്ന് “ ഫിൻ” എന്ന പേര് എക്സ്ട്രാക്റ്റുചെയ്യാൻ ഞങ്ങൾ ശ്രമിക്കുന്നു, അതിനാൽ ഞങ്ങളുടെ കാര്യത്തിൽ ഫോർമുല,
=MatchByIndex(105,84)
- തുടർന്ന്, Enter അമർത്തുക.
ഇനിപ്പറയുന്ന ചിത്രം നോക്കുക.
സെൽ F5 -ൽ, ഞങ്ങൾ “ ഫിൻ”<2 എന്ന പേര് വിജയകരമായി വീണ്ടെടുത്തു> VBA കോഡിൽ ഞങ്ങൾ സൃഷ്ടിച്ച ഫംഗ്ഷന്റെ ഉള്ളിൽ അവന്റെ ID , മാർക്കുകൾ എന്നിവ കടന്നുപോകുക.
VBA കോഡ് വിശദീകരണം
2966
ഒരു പുതിയ ഫംഗ്ഷൻ സൃഷ്ടിക്കുകയും അതിനുള്ളിലെ വേരിയബിളുകൾ കൈമാറുകയും ചെയ്യുന്നു. നിങ്ങൾക്ക് ഫംഗ്ഷനിലേക്ക് ഏത് പേരും നിർവചിക്കാം.
5028
ഞങ്ങളുടെ വരി ആരംഭിക്കുന്നത് വരി നമ്പർ 4-ൽ നിന്നാണ്. നിങ്ങളുടെ ഡാറ്റാസെറ്റ് ആരംഭിക്കുന്ന വരി നമ്പർ നിങ്ങൾ നൽകണം.
3658
വേരിയബിളുകൾ നിർവചിക്കുന്നു.
5492
ആദ്യം, പ്രവർത്തിക്കാനുള്ള വർക്ക്ഷീറ്റ് നിർവചിക്കുക. ഞങ്ങളുടെ ഷീറ്റിന്റെ പേര് "യുഡിഎഫ്" ആണ്, നിങ്ങളുടെ സ്പ്രെഡ്ഷീറ്റിന് അനുസൃതമായി പേര് നൽകണം. തുടർന്ന് ഞങ്ങൾ നിർവചിച്ച ആദ്യ വരി മുതൽ അവസാന വരി വരെ C:D ശ്രേണിയിൽ തിരയാൻ ആരംഭിക്കുക.
4005
ആദ്യ വരി മുതൽ അവസാന വരി വരെ ആവർത്തിക്കാൻ ആരംഭിക്കുക. ഫംഗ്ഷനുള്ളിൽ നമ്മൾ നൽകുന്ന ആദ്യത്തെ മൂല്യം C കോളത്തിലും രണ്ടാമത്തെ മൂല്യം D കോളത്തിലും വീഴുകയാണെങ്കിൽ, അത് തിരികെ നൽകും. ദി B നിരയിൽ നിന്ന് പൊരുത്തം. അല്ലെങ്കിൽ, ഫംഗ്ഷനിൽ നിന്ന് പുറത്തുകടന്ന്, എല്ലാ പ്രസ്താവനകളും അവസാനിപ്പിച്ച്, അടുത്ത വരിയിലേക്ക് പോകുക.
7597
എക്സിക്യൂഷൻ ചെയ്യുമ്പോൾ മുമ്പത്തെ വ്യവസ്ഥ നിറവേറ്റുന്നില്ലെങ്കിൽ, "ഡാറ്റ കണ്ടെത്തിയില്ല" എന്ന സന്ദേശം തിരികെ നൽകും. കോഡ് ഫംഗ്ഷനിൽ നിന്ന് പുറത്തുപോകും.
കൂടുതൽ വായിക്കുക: Excel-ലെ ഭാഗിക ടെക്സ്റ്റിനായി ഒന്നിലധികം മാനദണ്ഡങ്ങളുള്ള ഇൻഡെക്സ്-മാച്ച് (2 വഴികൾ)
മാനദണ്ഡം – 3: Excel-ലെ ഒന്നിലധികം ഡാറ്റയുള്ള ഒരു ടേബിളിൽ നിന്ന് MATCH മൂല്യം തിരികെ നൽകുന്നതിന് VBA നടപ്പിലാക്കുക
ഈ വിഭാഗത്തിൽ, ഒരു പട്ടികയിൽ നിന്ന് സൂചികകൾ പ്രകാരം പൊരുത്തമുള്ള മൂല്യം എങ്ങനെ തിരികെ നൽകാമെന്ന് ഞങ്ങൾ പഠിക്കും. VBA Excel-ൽ MsgBox ൽ കോഡിനുള്ളിൽ പേര് , ഐഡി എന്നിവ നൽകിക്കൊണ്ട് ഒരു നിശ്ചിത വിദ്യാർത്ഥിയുടെ ഡാറ്റാസെറ്റ് ( T കഴിയുന്ന പേര്: TableMatch ). ഞങ്ങളുടെ കാര്യത്തിൽ, പേര് , ഐഡി എന്നിവ യഥാക്രമം ഫിൻ , 105 എന്നിവയായിരിക്കും.
ഘട്ടങ്ങൾ :
- ആദ്യം, Developer ടാബിൽ നിന്ന് Visual Basic Editor തുറന്ന് Insert a Module<2 കോഡ് വിൻഡോയിൽ> ഇപ്പോൾ പ്രവർത്തിക്കാൻ തയ്യാറാണ്.
- പിന്നീട്, ഈ കോഡ് റൺ ചെയ്ത് അതിന്റെ ഫലമായി എന്താണ് സംഭവിച്ചതെന്ന് കാണാൻ ഇനിപ്പറയുന്ന ചിത്രം നോക്കുക.
മുകളിലുള്ള ചിത്രത്തിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഒരു Microsoft Excel പോപ്പ്- ഉണ്ട്.കോഡിനുള്ളിൽ ഞങ്ങൾ നൽകിയ മാർക്ക്: 84 ID: 105 , പേര്: Finn എന്നിവ കാണിക്കുന്ന സന്ദേശ ബോക്സ് മുകളിലേയ്ക്ക്.
VBA കോഡ് വിശദീകരണം
7378
വേരിയബിളുകൾ നിർവചിക്കുന്നു.
6742
ഷീറ്റിന്റെ പേരും പട്ടികയുടെ പേരും വേരിയബിളുകൾക്കുള്ളിൽ സജ്ജീകരിക്കുന്നു.
9365
സംഭരണം തിരയാനുള്ള ലുക്ക്അപ്പ് മൂല്യങ്ങളും ലുക്കപ്പ് കോളങ്ങളും.
2903
ഈ കോഡ് സബ്സ്ക്രിപ്റ്റിന്റെ തുടക്കം മുതൽ അവസാനം വരെ സ്കാൻ ചെയ്യുന്നു, കൂടാതെ തിരയൽ കോളങ്ങളിൽ നിർവചിച്ച ഐഡിയുടെയും പേരിന്റെയും പൊരുത്തം കണ്ടെത്തുകയാണെങ്കിൽ ഫലം സംഭരിക്കുകയും എല്ലാ പ്രസ്താവനകളും അടയ്ക്കുകയും ചെയ്യുക. കൂടാതെ, ആവർത്തനത്തിൽ നിന്ന് പുറത്തുകടന്ന് കോഡിന്റെ അടുത്ത ഭാഗത്തേക്ക് പോകുക.
4225
ഫലം MsgBox-ൽ എറിയുന്നു.
കൂടുതൽ വായിക്കുക: നോക്കുക, മടങ്ങുക ഒന്നിലധികം മൂല്യങ്ങൾ Excel-ൽ ഒരു സെല്ലിലേക്ക് സംയോജിപ്പിച്ചിരിക്കുന്നു
ഉപസംഹാരം
ഉപസംഹരിക്കാൻ, INDEX MATCH അടിസ്ഥാനമാക്കി എങ്ങനെ നിർവഹിക്കാം എന്നതിനെക്കുറിച്ചുള്ള 3 വ്യത്യസ്ത രീതികൾ ഈ ലേഖനം കാണിച്ചുതന്നു ഒന്നിലധികം മാനദണ്ഡങ്ങളിൽ VBA മാക്രോ ഉപയോഗിച്ച് Excel-ൽ. ഈ ലേഖനം നിങ്ങൾക്ക് വളരെ പ്രയോജനപ്രദമായിരുന്നുവെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു. വിഷയവുമായി ബന്ധപ്പെട്ട് എന്തെങ്കിലും ചോദ്യങ്ങൾ ചോദിക്കാൻ മടിക്കേണ്ടതില്ല.