VBA INDEX MATCH Kulingana na Vigezo vingi katika Excel (Njia 3)

  • Shiriki Hii
Hugh West

Jedwali la yaliyomo

Tunapokuwa na kiasi kikubwa cha data basi wakati mwingine ni vigumu kutoa data yoyote maalum kutoka kwa mkusanyiko wa data. Pamoja na vitendaji vya Excel INDEX na MATCH vinaweza kurejesha aina yoyote ya data hata katika mkusanyiko mkubwa wa data. Utekelezaji VBA ndiyo njia bora zaidi, ya haraka zaidi, na salama zaidi ya kuendesha operesheni yoyote katika Excel. Katika makala haya, tutakuonyesha mbinu 3 tofauti za jinsi ya kufanya INDEX MATCH kulingana na vigezo vingi katika Excel na VBA macro .

Pakua Kitabu cha Kazi

Unaweza kupakua kitabu cha mazoezi bila malipo cha Excel kutoka hapa.

VBA INDEX MATCH Kulingana na Vigezo Vingi.xlsm

Njia 3 zilizo na VBA INDEX MATCH Kulingana na Vigezo Vingi katika Excel

Katika sehemu zifuatazo, tutakuonyesha jinsi ya kutekeleza INDEX MATCH kulingana na vigezo vingi vya masafa , kwa uteuzi maalum na kwa jedwali katika Excel na VBA .

Hapo juu tunayo hifadhidata ambayo makala hii itafuata. Tuna Jina la Mwanafunzi , Kitambulisho cha Mwanafunzi, na Alama za Mitihani za kila mwanafunzi katika mkusanyiko wa data. Tutatoa matokeo fulani yanayokaa katika safu wima moja kulingana na masharti kutoka safu wima nyingine mbili.

Vigezo - 1: Pachika VBA na INDEX MATCH kwa Utafutaji wa Dimensional Nyingi (Mbili) katika Excel 10>

Zingatia picha ifuatayo. Tumehifadhi jina mahususi la mwanafunzi " Edge" katika KisandukuG4 ; na safu ambayo tutakuwa tunatafuta Tokeo ndani, Alama za Mtihani , imehifadhiwa katika Kiini G5 . Tutatafuta katika safuwima ya Alama za Mtihani na kuhifadhi Alama ambazo “ Edge” ilipata Cell G6 .

Hatua za kutafuta husababisha mkusanyiko wa pande mbili na INDEX na MATCH katika Excel na VBA zimetolewa hapa chini.

Hatua:

  • Mwanzoni, bonyeza Alt + F11 kwenye kibodi yako au nenda kwa kichupo Msanidi programu -> Visual Basic ili kufungua Visual Basic Editor .

  • Ifuatayo, katika dirisha ibukizi la msimbo, kutoka kwa upau wa menyu, bofya Ingiza -> Moduli .

  • Kisha, nakili msimbo ufuatao na ubandike kwenye msimbo. dirisha.
1917

Msimbo wako sasa uko tayari kutumika.

  • Sasa, bonyeza F5 kwenye yako kibodi au kutoka kwa upau wa menyu chagua Run -> Endesha Fomu Ndogo/Mtumiaji . Unaweza pia kubofya ikoni ya Run ndogo katika upau wa menyu ndogo ili kuendesha jumla.

Baada ya utekelezaji wa msimbo, angalia gif hapa chini kuona matokeo.

Kutokana na hayo, Alama ambazo “ Edge” ziliingia kwenye mtihani, 67 , hutolewa katika Kisanduku G7 .

Ufafanuzi wa Msimbo wa VBA

6198

Kufafanua lahaja ya Laha ya Kazi.

1692

Hifadhi jina la laha ya kazi. Jina la laha yetu ni "Vipimo Mbili", unapaswa kutoajina kulingana na lahajedwali lako.

1774

Kipande hiki cha msimbo huchagua masafa C5:D14 kama masafa ya utafutaji. Kisha utafute inayolingana ambayo imehifadhiwa kwenye seli G4 katika masafa B5:B14 na utafute inayolingana ambayo imehifadhiwa kwenye seli G5 katika masafa C4:D4 na upitishe matokeo kwa kisanduku G6 .

Soma Zaidi: Jinsi ya Kutumia INDEX MATCH yenye Vigezo Vingi vya Masafa ya Tarehe

Vigezo – 2: Tekeleza Macro ili Kupata Thamani INAYOENDANA kwa INDEX yenye Kazi Iliyoainishwa na Mtumiaji (UDF)

Unaweza kutoa thamani zinazolingana kutoka mkusanyiko wa data ukitumia kitendakazi kilichobainishwa na mtumiaji (UDF) . Kutoka kwa picha ifuatayo, tunachoenda kufanya ni, tutafaulu Kitambulisho cha Mwanafunzi na Alama za Mitihani za mwanafunzi fulani na kazi itatupa Jina ya mwanafunzi huyo mahususi.

Hebu tuone jinsi ya kufanikisha hilo kwa Jina la Mwanafunzi “Finn” na VBA .

Hatua:

  • Kama ilivyoonyeshwa hapo awali, fungua Visual Basic Editor kutoka kwa kichupo cha Msanidi na Ingiza Moduli kwenye dirisha la msimbo.
  • Kisha, katika dirisha la msimbo, nakili msimbo ufuatao na ubandike .
7556

  • Usiendeshe msimbo huu, ihifadhi hicho.
  • Sasa, rudi kwenye lahakazi ya mambo yanayokuvutia. Chagua kisanduku chochote unachotaka kuhifadhi matokeo. Kwa upande wetu, ni Kiini F5 .
  • Katika kisanduku hicho, andika UDF wewewameunda msimbo ( MatchByIndex ) na kupitisha Kitambulisho cha Mwanafunzi na Alama za Mtihani za mwanafunzi mahususi ndani ya mabano ya chaguo la kukokotoa.

Kama tunajaribu kutoa jina “ Finn” kutoka ID yake (105) na Alama (84) , kwa hivyo kwa upande wetu fomula inakuwa,

=MatchByIndex(105,84)

  • Kisha, bonyeza Enter .

Angalia picha ifuatayo.

Katika Seli F5 , tumefanikiwa kurejesha jina “ Finn” kwa kupitisha ID yake na Alama ndani ya kitendakazi tulichounda katika msimbo wa VBA .

1>Ufafanuzi wa Msimbo wa VBA

3651

Kuunda kitendakazi kipya na kupitisha vigeu vilivyomo ndani yake. Unaweza kufafanua jina lolote kwa chaguo za kukokotoa.

2518

Safu mlalo yetu inaanzia nambari ya safu mlalo ya 4. Lazima utoe nambari ya safu mlalo ambayo seti yako ya data inaanza.

1448

Kufafanua vigeuzo.

2915

Kwanza, fafanua karatasi ya kufanya kazi nayo. Jina la laha yetu ni "UDF", unapaswa kutoa jina kulingana na lahajedwali yako. Kisha anza kutafuta katika safu C:D kutoka safu mlalo ya kwanza tuliyofafanua hadi safu mlalo ya mwisho.

2066

Anza kurudia kutoka safu mlalo ya kwanza hadi ya mwisho. Ikiwa thamani ya kwanza ambayo tutapita ndani ya chaguo za kukokotoa itaanguka ndani ya safuwima ya C na ikiwa thamani ya pili ambayo tutapita ndani ya chaguo za kukokotoa itaanguka ndani ya safuwima ya D , basi itarudi. yamechi kutoka B safuwima. Vinginevyo, ondoka kwenye chaguo la kukokotoa, malizia taarifa zote, na uende kwenye mstari unaofuata.

9870

Ikiwa sharti la awali halitatimizwa wakati wa kutekeleza, basi ujumbe wa “Data Haijapatikana” utarejeshwa na msimbo utaondoka kwenye chaguo la kukokotoa.

Soma Zaidi: INDEX-MATCH yenye Vigezo Nyingi vya Maandishi Sehemu katika Excel (Njia 2)

Vigezo - 3: Tekeleza VBA ili Kurudisha Thamani INAYOLINGANA kutoka kwa Jedwali lenye Data Nyingi katika Excel

Katika sehemu hii, tutajifunza jinsi ya kurejesha thamani inayolingana na faharasa kutoka kwa jedwali. katika MsgBox katika VBA Excel.

Hebu tuone jinsi ya kutoa Alama kutoka kwa jedwali lililoonyeshwa kwenye yetu. seti ya data ( T Jina linaloweza kutumika: TableMatch ) ya mwanafunzi fulani kwa kutoa Jina na ID ndani ya msimbo. Kwa upande wetu, Jina na ID itakuwa Finn na 105 mtawalia.

Hatua :

  • Kwanza, fungua Visual Basic Editor kutoka kwa kichupo cha Msanidi na Ingiza Moduli katika dirisha la msimbo.
  • Kisha, nakili msimbo ufuatao na ubandike kwenye dirisha la msimbo.
2563

Msimbo wako sasa iko tayari kutumika.

  • Baadaye, Endesha msimbo huu na uangalie picha ifuatayo ili kuona kilichotokea kama matokeo.

Kama unavyoona kwenye picha hapo juu, kuna Microsoft Excel pop-juu kisanduku cha ujumbe kinachokuonyesha Alama: 84 ya ID: 105 na Jina: Finn tulizotoa ndani ya msimbo.

Ufafanuzi wa Msimbo wa VBA

2363

Kufafanua vigeu.

3339

Kuweka jina la laha na jina la jedwali ndani ya vigeu.

2271

Kuhifadhi thamani za utafutaji na safu wima za kutafuta.

5366

Kipande hiki cha msimbo huchanganua kutoka mwanzo hadi mwisho wa usajili na ikipata ulinganifu wa kitambulisho kilichobainishwa na Jina katika safu wima za utafutaji basi. kuhifadhi matokeo na kufunga taarifa zote. Pia, ondoka kwenye marudio na uende kwenye sehemu inayofuata ya msimbo.

4946

Hutupa matokeo kwenye MsgBox.

Soma Zaidi: Tafuta na Urudishe. Thamani Nyingi Zimeunganishwa katika Seli Moja katika Excel

Hitimisho

Kuhitimisha, makala haya yalikuonyesha mbinu 3 tofauti za jinsi ya kutekeleza INDEX MATCH kulingana na kwa vigezo vingi katika Excel na VBA macro . Natumaini makala hii imekuwa ya manufaa sana kwako. Jisikie huru kuuliza maswali yoyote kuhusu mada.

Hugh West ni mkufunzi na mchambuzi mwenye uzoefu wa juu wa Excel na uzoefu wa zaidi ya miaka 10 katika tasnia. Ana Shahada ya Kwanza katika Uhasibu na Fedha na Shahada ya Uzamili katika Utawala wa Biashara. Hugh ana shauku ya kufundisha na ameanzisha mbinu ya kipekee ya kufundisha ambayo ni rahisi kufuata na kuelewa. Ujuzi wake wa kitaalam wa Excel umesaidia maelfu ya wanafunzi na wataalamu ulimwenguni kote kuboresha ujuzi wao na kufaulu katika taaluma zao. Kupitia blogu yake, Hugh hushiriki ujuzi wake na ulimwengu, akitoa mafunzo ya bila malipo ya Excel na mafunzo ya mtandaoni ili kuwasaidia watu binafsi na biashara kufikia uwezo wao kamili.