એક્સેલમાં બહુવિધ માપદંડો પર આધારિત VBA ઇન્ડેક્સ મેચ (3 પદ્ધતિઓ)

  • આ શેર કરો
Hugh West

જ્યારે અમારી પાસે મોટી માત્રામાં ડેટા હોય છે ત્યારે કેટલીકવાર ડેટાસેટમાંથી કોઈ ચોક્કસ ડેટા કાઢવાનું મુશ્કેલ હોય છે. એક્સેલના INDEX અને MATCH ફંક્શન્સ સાથે મળીને વિશાળ ડેટાસેટમાં પણ કોઈપણ પ્રકારનો ડેટા પુનઃપ્રાપ્ત કરી શકે છે. એક્સેલમાં કોઈપણ ઑપરેશન ચલાવવા માટે VBA નો અમલ કરવો એ સૌથી અસરકારક, ઝડપી અને સલામત પદ્ધતિ છે. આ લેખમાં, અમે તમને VBA મેક્રો સાથે Excel માં મલ્ટીપલ માપદંડો પર આધારિત INDEX MATCH કેવી રીતે કરવું તેની 3 વિવિધ પદ્ધતિઓ બતાવીશું.

ડાઉનલોડ કરો વર્કબુક

તમે અહીંથી ફ્રી પ્રેક્ટિસ એક્સેલ વર્કબુક ડાઉનલોડ કરી શકો છો.

VBA INDEX MATCH મલ્ટીપલ ક્રાઇટેરીયા.xlsm પર આધારિત

<4 એક્સેલમાં બહુવિધ માપદંડો પર આધારિત VBA ઇન્ડેક્સ મેચ સાથેની 3 પદ્ધતિઓ

નીચેના વિભાગોમાં, અમે તમને બતાવીશું કે શ્રેણી માટે બહુવિધ માપદંડોના આધારે ઇન્ડેક્સ મેચ કેવી રીતે કરવું , ચોક્કસ પસંદગી માટે અને એક કોષ્ટક માટે Excel માં VBA સાથે.

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

માપદંડ – 1: એક્સેલમાં બહુવિધ (બે) ડાયમેન્શનલ લુકઅપ માટે INDEX મેચ સાથે VBA એમ્બેડ કરો

નીચેની છબીને ધ્યાનમાં લો. અમે ચોક્કસ વિદ્યાર્થીનું નામ “ Edge” સેલમાં સંગ્રહિત કર્યું છેG4 ; અને જે કૉલમમાં આપણે પરિણામ , પરીક્ષાના ગુણ શોધીશું તે સેલ G5 માં સંગ્રહિત છે. અમે પરીક્ષાના ગુણ કૉલમમાં શોધીશું અને માક્સ ને સંગ્રહિત કરીશું જે “ એજ” ને સેલ G6 માં મળ્યા છે.

<0

લુકઅપનાં પગલાં VBA સાથે એક્સેલમાં INDEX અને MATCH સાથે દ્વિ-પરિમાણીય એરે માં પરિણમે છે નીચે આપેલ છે.

પગલાઓ:

  • શરૂઆતમાં, તમારા કીબોર્ડ પર Alt + F11 દબાવો અથવા પર જાઓ ટેબ વિકાસકર્તા -> વિઝ્યુઅલ બેઝિક ખોલવા માટે વિઝ્યુઅલ બેઝિક એડિટર .

  • આગળ, પોપ-અપ કોડ વિન્ડોમાં, મેનુ બાર, શામેલ કરો -> મોડ્યુલ .

  • પછી, નીચેના કોડને કોપી કરો અને તેને કોડમાં પેસ્ટ કરો વિન્ડો.
8816

તમારો કોડ હવે ચલાવવા માટે તૈયાર છે.

  • હવે, તમારા પર F5 દબાવો કીબોર્ડ અથવા મેનુ બારમાંથી ચલાવો -> સબ/યુઝરફોર્મ ચલાવો. તમે મેક્રો ચલાવવા માટે સબ-મેનૂ બારમાં નાના રન આઇકન પર ક્લિક પણ કરી શકો છો.

કોડ અમલીકરણ પછી, પરિણામ જોવા માટે નીચેની gif જુઓ.

પરિણામે, માર્કસ જે “ એજ” મેળવ્યા છે પરીક્ષા, 67 , સેલ G7 માં પુનઃપ્રાપ્ત કરવામાં આવી છે.

VBA કોડ સમજૂતી

5422

વર્કશીટના વેરીએબલને વ્યાખ્યાયિત કરવું.

1488

વર્કશીટનું નામ સ્ટોર કરો. અમારી શીટનું નામ "ટુ ડાયમેન્શન" છે, તમારે પ્રદાન કરવું જોઈએતમારી સ્પ્રેડશીટ અનુસાર નામ.

1692

કોડનો આ ભાગ લુકઅપ શ્રેણી તરીકે શ્રેણી C5:D14 પસંદ કરે છે. પછી સેલ G4 શ્રેણી B5:B14 માં સંગ્રહિત મેચ માટે શોધો અને શ્રેણી G5 સેલમાં સંગ્રહિત મેચ માટે શોધો. C4:D4 અને પરિણામ સેલ G6 માં મોકલો.

વધુ વાંચો: તારીખ શ્રેણી માટે બહુવિધ માપદંડો સાથે INDEX મેચનો ઉપયોગ કેવી રીતે કરવો

માપદંડ – 2: વપરાશકર્તા-નિર્ધારિત કાર્ય (UDF) સાથે INDEX દ્વારા મેળ મૂલ્ય શોધવા માટે મેક્રો લાગુ કરો

તમે ડેટાસેટમાંથી મેળ ખાતા મૂલ્યો એક સાથે મેળવી શકો છો વપરાશકર્તા-વ્યાખ્યાયિત કાર્ય (UDF) . નીચેની ઈમેજમાંથી, આપણે શું કરવા જઈ રહ્યા છીએ, અમે ચોક્કસ વિદ્યાર્થીના વિદ્યાર્થી ID અને પરીક્ષાના ગુણ પાસ કરીશું અને ફંક્શન આપણને નામ<ફેંકશે. તે ચોક્કસ વિદ્યાર્થીની 2>.

ચાલો જોઈએ કે તે કેવી રીતે પ્રાપ્ત કરવું તે વિદ્યાર્થી નામ “ફિન” માટે VBA સાથે.

પગલાઓ:

  • પહેલાં બતાવ્યા પ્રમાણે, વિકાસકર્તા ટેબ અને માંથી વિઝ્યુઅલ બેઝિક એડિટર ખોલો કોડ વિન્ડોમાં a મોડ્યુલ દાખલ કરો.
  • પછી, કોડ વિન્ડોમાં, નીચેના કોડને કોપી કરો અને પેસ્ટ કરો .
9279

  • આ કોડ ચલાવશો નહીં, સેવ કરો તેને.
  • હવે, રસની વર્કશીટ પર પાછા જાઓ . કોઈપણ સેલ પસંદ કરો જે તમે પરિણામ સંગ્રહિત કરવા માંગો છો. અમારા કિસ્સામાં, તે સેલ F5 છે.
  • તે સેલમાં, લખો UDF તમેકોડ ( MatchByIndex ) માં બનાવેલ છે અને ફંક્શનના કૌંસની અંદર ચોક્કસ વિદ્યાર્થીના વિદ્યાર્થી ID અને પરીક્ષાના ગુણ પાસ કરો.

તેમ અમે તેના ID (105) અને માર્ક્સ (84) માંથી “ ફિન” નામ કાઢવાનો પ્રયાસ કરી રહ્યા છીએ, તેથી અમારા કેસ માટે સૂત્ર બને છે,<3 =MatchByIndex(105,84)

  • પછી, Enter દબાવો.

નીચેની છબી જુઓ.

સેલ F5 માં, અમે સફળતાપૂર્વક " ફિન"<2 નામ પુનઃપ્રાપ્ત કર્યું છે> ફક્ત તેના ID અને માર્ક્સ ને અમે VBA કોડમાં બનાવેલા ફંક્શનની અંદર પસાર કરીને.

VBA કોડ સમજૂતી

5602

નવું ફંક્શન બનાવવું અને તેની અંદર વેરીએબલ પસાર કરવું. તમે ફંક્શન માટે કોઈપણ નામ વ્યાખ્યાયિત કરી શકો છો.

4574

અમારી પંક્તિ પંક્તિ નંબર 4 થી શરૂ થાય છે. તમારે તે પંક્તિ નંબર પ્રદાન કરવો આવશ્યક છે જેમાંથી તમારો ડેટાસેટ શરૂ થાય છે.

2201

ચલોની વ્યાખ્યા કરવી.

6791

પ્રથમ, કામ કરવા માટેની વર્કશીટને વ્યાખ્યાયિત કરો. અમારી શીટનું નામ “UDF” છે, તમારે તમારી સ્પ્રેડશીટ પ્રમાણે નામ આપવું જોઈએ. પછી અમે છેલ્લી પંક્તિ સુધી વ્યાખ્યાયિત કરેલી પ્રથમ પંક્તિથી C:D શ્રેણીમાં શોધવાનું શરૂ કરો.

6883

પ્રથમ પંક્તિથી છેલ્લી પંક્તિ સુધી પુનરાવર્તન કરવાનું શરૂ કરો. જો પ્રથમ મૂલ્ય જે આપણે ફંક્શનની અંદર પસાર કરીશું તે C કૉલમની અંદર આવે છે અને જો બીજી કિંમત જે આપણે ફંક્શનની અંદર પસાર કરીશું તે D કૉલમની અંદર આવે છે, તો તે પરત આવશે. આ B કૉલમથી મેળ. નહિંતર, ફંક્શનમાંથી બહાર નીકળો, તમામ સ્ટેટમેન્ટ સમાપ્ત કરો અને આગલી લાઇન પર જાઓ.

9040

જો એક્ઝિક્યુટ કરતી વખતે અગાઉની શરત પૂરી ન થાય, તો "ડેટા ન મળ્યો" સંદેશ પાછો આવશે અને કોડ ફંક્શનને છોડી દેશે.

વધુ વાંચો: Excel માં આંશિક ટેક્સ્ટ માટે બહુવિધ માપદંડો સાથે INDEX-MATCH (2 રીતો)

માપદંડ – 3: એક્સેલમાં બહુવિધ ડેટાવાળા કોષ્ટકમાંથી મેચ મૂલ્ય પરત કરવા માટે VBA નો અમલ કરો

આ વિભાગમાં, આપણે શીખીશું કે કેવી રીતે કોષ્ટકમાંથી અનુક્રમણિકાઓ દ્વારા મેળ ખાતી કિંમત પરત કરવી. MsgBox માં VBA Excel માં.

ચાલો જોઈએ કે કેવી રીતે માર્કસ ને અમારા ટેબલમાં બતાવેલ છે. કોડની અંદર નામ અને ID આપીને ચોક્કસ વિદ્યાર્થીનો ડેટાસેટ ( T સક્ષમ નામ: ટેબલમેચ ). અમારા કેસ માટે, નામ અને ID અનુક્રમે ફિન અને 105 હશે.

પગલાં :

  • સૌપ્રથમ, વિકાસકર્તા ટેબમાંથી વિઝ્યુઅલ બેઝિક એડિટર ખોલો અને મોડ્યુલ દાખલ કરો> કોડ વિન્ડોમાં.
  • પછી, નીચેના કોડને કોપી કરો અને તેને કોડ વિન્ડોમાં પેસ્ટ કરો .
5079

તમારો કોડ હવે ચલાવવા માટે તૈયાર છે.

  • બાદમાં, આ કોડને ચલાવો અને પરિણામે શું થયું તે જોવા માટે નીચેની છબી જુઓ.

જેમ તમે ઉપરની છબી પરથી જોઈ શકો છો, ત્યાં એક માઈક્રોસોફ્ટ એક્સેલ પોપ-ઉપરનો મેસેજ બોક્સ તમને ID: 105 અને નામ: ફિન ના માર્ક્સ: 84 દર્શાવે છે જે અમે કોડની અંદર પ્રદાન કર્યું છે.

VBA કોડ સમજૂતી

6188

ચલોની વ્યાખ્યા કરવી.

1720

શીટનું નામ અને ટેબલનું નામ ચલોની અંદર સેટ કરવું.

3904

સ્ટોરીંગ લુકઅપ મૂલ્યો અને શોધવા માટે લુકઅપ કૉલમ.

5184

કોડનો આ ભાગ સબસ્ક્રિપ્ટના પ્રારંભથી અંત સુધી સ્કેન કરે છે અને જો તે શોધ કૉલમમાં નિર્ધારિત ID અને નામનો મેળ શોધે છે તો પરિણામ સંગ્રહિત કરો અને તમામ નિવેદનો બંધ કરો. ઉપરાંત, પુનરાવૃત્તિમાંથી બહાર નીકળો અને કોડના આગલા ભાગ પર જાઓ.

3530

પરિણામ MsgBoxમાં ફેંકે છે.

વધુ વાંચો: લુકઅપ અને રીટર્ન એક્સેલમાં એક કોષમાં બહુવિધ મૂલ્યો સંકલિત છે

નિષ્કર્ષ

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

હ્યુજ વેસ્ટ ઉદ્યોગમાં 10 વર્ષથી વધુનો અનુભવ ધરાવતા અત્યંત અનુભવી એક્સેલ ટ્રેનર અને વિશ્લેષક છે. તેમણે એકાઉન્ટિંગ અને ફાઇનાન્સમાં સ્નાતકની ડિગ્રી અને બિઝનેસ એડમિનિસ્ટ્રેશનમાં માસ્ટર ડિગ્રી ધરાવે છે. હ્યુને શીખવવાનો શોખ છે અને તેણે એક અનન્ય શિક્ષણ અભિગમ વિકસાવ્યો છે જે અનુસરવા અને સમજવામાં સરળ છે. એક્સેલના તેમના નિષ્ણાત જ્ઞાને વિશ્વભરના હજારો વિદ્યાર્થીઓ અને વ્યાવસાયિકોને તેમની કુશળતા સુધારવામાં અને તેમની કારકિર્દીમાં શ્રેષ્ઠ બનાવવામાં મદદ કરી છે. તેમના બ્લોગ દ્વારા, હ્યુજ તેમના જ્ઞાનને વિશ્વ સાથે શેર કરે છે, વ્યક્તિઓ અને વ્યવસાયોને તેમની સંપૂર્ણ ક્ષમતા સુધી પહોંચવામાં મદદ કરવા માટે મફત એક્સેલ ટ્યુટોરિયલ્સ અને ઑનલાઇન તાલીમ ઓફર કરે છે.