VBA INDEX MATCH Byggt á mörgum viðmiðum í Excel (3 aðferðir)

  • Deildu Þessu
Hugh West

Þegar við höfum mikið magn af gögnum þá er stundum erfitt að draga nein ákveðin gögn úr gagnasafninu. Ásamt INDEX og MATCH aðgerðum Excel er hægt að sækja hvers kyns gögn, jafnvel í risastóru gagnasafni. Innleiðing VBA er áhrifaríkasta, fljótlegasta og öruggasta aðferðin til að keyra hvaða aðgerð sem er í Excel. Í þessari grein munum við sýna þér 3 mismunandi aðferðir um hvernig á að framkvæma INDEX MATCH byggt á mörgum forsendum í Excel með VBA fjölvi .

Hlaða niður Vinnubók

Þú getur hlaðið niður ókeypis Excel vinnubókinni héðan.

VBA INDEX MATCH Byggt á mörgum skilyrðum.xlsm

3 aðferðir með VBA INDEX MATCH byggt á mörgum forsendum í Excel

Í eftirfarandi köflum munum við sýna þér hvernig á að framkvæma INDEX MATCH byggt á mörgum forsendum fyrir svið , fyrir tiltekið val og fyrir töflu í Excel með VBA .

Hér að ofan við höfum gagnasafnið sem þessi grein mun fylgja eftir. Við höfum Nafn nemanda , Nemendaauðkenni, og Prófeinkunn hvers nemanda í gagnasafninu. Við munum draga út ákveðna niðurstöðu sem býr í einum dálki byggt á skilyrðum úr hinum tveimur dálkunum.

Forsendur – 1: Fella inn VBA með INDEX MATCH fyrir margar (tvívíddar) leit í Excel

Líttu á eftirfarandi mynd. Við höfum geymt nafn tiltekins nemanda „ Edge“ í CellG4<2; og dálkurinn sem við munum leita í Niðurstöðu í, Prófmerki , er geymdur í Hólf G5 . Við munum leita í dálknum Prófmerki og geyma Merkin sem „ Edge“ fékk í G6 klefi.

Skrefin til að leita leiða til tvívíddar fylki með INDEX og MATCH í Excel með VBA eru gefin upp hér að neðan.

Skref:

  • Í upphafi skaltu ýta á Alt + F11 á lyklaborðinu þínu eða fara í flipann Hönnuði -> Visual Basic til að opna Visual Basic Editor .

  • Næst, í sprettiglugganum, frá valmyndarstiku, smelltu á Insert -> Module .

  • Svo skaltu afrita eftirfarandi kóða og líma inn í kóðann glugga.
6069

Kóðinn þinn er nú tilbúinn til að keyra.

  • Nú skaltu ýta á F5 á lyklaborð eða á valmyndastikunni veldu Run -> Keyra Sub/UserForm . Þú getur líka bara smellt á litla Run táknið í undirvalmyndastikunni til að keyra fjölvi.

Eftir að kóðann er keyrður, skoðaðu gifið hér að neðan til að sjá niðurstöðuna.

Þar af leiðandi Merkin sem „ Edge“ fékk í próf, 67 , er sótt í Hólf G7 .

VBA kóða skýring

5624

Að skilgreina breytuna á vinnublaði.

9300

Geymdu heiti vinnublaðsins. Nafnið á blaðinu okkar er "Two Dimension", þú ættir að gefa uppnafnið samkvæmt töflureikninum þínum.

1688

Þessi kóðahluti velur svið C5:D14 sem uppflettingarsvið. Leitaðu síðan að samsvöruninni sem er geymd í reit G4 á bilinu B5:B14 og leitaðu að samsvöruninni sem er geymt í reit G5 á bilinu C4:D4 og sendu niðurstöðuna í reit G6 .

Lesa meira: Hvernig á að nota INDEX MATCH með mörgum skilyrðum fyrir tímabil

Forsendur – 2: Notaðu fjölva til að finna MATCH gildi eftir INDEX með notendaskilgreindri aðgerð (UDF)

Þú getur dregið út samsvarandi gildi úr gagnasafni með notendaskilgreind aðgerð (UDF) . Af eftirfarandi mynd, það sem við ætlum að gera er, við munum standast nemandaauðkenni og prófseinkunn tiltekins nemanda og aðgerðin mun henda okkur nafninu af þessum tiltekna nemanda.

Við skulum sjá hvernig á að ná því fyrir Nafn nemanda “Finn” með VBA .

Skref:

  • Eins og áður hefur verið sýnt, opnaðu Visual Basic Editor frá Developer flipanum og Settu einingu inn í kóðagluggann.
  • Síðan, í kóðaglugganum, afritaðu eftirfarandi kóða og límdu hann.
2550

  • Ekki keyra þennan kóða, vista hann.
  • Nú skaltu fara aftur í vinnublaðið sem þú vilt. Veldu hvaða reit sem er sem þú vilt geyma niðurstöðuna. Í okkar tilfelli er það Hólf F5 .
  • Í þeim hólf, skrifaðu UDF sem þúhafa bara búið til í kóðanum ( MatchByIndex ) og staðið nemandakenni og prófeinkunn tiltekins nemanda innan sviga fallsins.

Sem við erum að reyna að draga nafnið „ Finn“ úr auðkenni (105) og Merkjum (84) , þannig að fyrir okkar tilvik verður formúlan,

=MatchByIndex(105,84)

  • Smelltu síðan á Enter .

Skoðaðu eftirfarandi mynd.

Í Hólf F5 höfum við náð nafninu „ Finn“ með því einfaldlega að senda ID hans og Marks inn í fallið sem við bjuggum til í VBA kóðanum.

VBA kóða skýring

1915

Búa til nýtt fall og senda breyturnar inni í því. Þú getur skilgreint hvaða heiti sem er á fallið.

7454

Röðin okkar byrjar á línu númer 4. Þú verður að gefa upp línunúmerið sem gagnasafnið þitt byrjar á.

8083

Að skilgreina breyturnar.

Function MatchByIndex(x As Double, y As Double)

Fyrst skaltu tilgreina vinnublaðið til að vinna með. Nafnið á blaðinu okkar er „UDF“, þú ættir að gefa upp nafnið samkvæmt töflureikninum þínum. Byrjaðu síðan að leita á bilinu C:D frá fyrstu línu sem við skilgreindum til síðustu línu.

6283

Byrjaðu að endurtaka frá fyrstu línu til síðustu línu. Ef fyrsta gildið sem við sendum inn í fallið fellur inni í C dálknum og ef annað gildi sem við sendum inn í fallið fellur inn í D dálkinn, þá mun það skila thepassa úr B dálknum. Að öðrum kosti skaltu hætta við fallið, enda allar setningarnar og fara í næstu línu.

6637

Ef fyrra skilyrðið er ekki uppfyllt meðan verið er að keyra, þá verður „Data Not Found“ skilaboðin skilað og kóði mun yfirgefa fallið.

Lesa meira: INDEX-MATCH with Multiple Criteria for Partal Text in Excel (2 Ways)

Viðmið – 3: Innleiða VBA til að skila MATCH gildi úr töflu með mörgum gögnum í Excel

Í þessum hluta munum við læra hvernig á að skila samsvarandi gildi með vísitölum úr töflu í MsgBox í VBA Excel.

Við skulum sjá hvernig á að draga Merkin úr töflunni sem sýnd er í okkar gagnasafn ( T able Name: TableMatch ) tiltekins nemanda með því að gefa upp Name og ID í kóðanum. Í okkar tilviki verða Nafn og Auðkenni Finn og 105 í sömu röð.

Skref :

  • Í fyrsta lagi skaltu opna Visual Basic Editor á flipanum Developer og Setja inn module í kóðaglugganum.
  • Svo skaltu afrita eftirfarandi kóða og líma hann inn í kóðagluggann.
5344

Kóðinn þinn er nú tilbúinn til að keyra.

  • Síðar, Keyra þennan kóða og skoða eftirfarandi mynd til að sjá hvað gerðist í kjölfarið.

Eins og þú sérð á myndinni hér að ofan er Microsoft Excel pop-upp skilaboðakassi sem sýnir þér Merkin: 84 af Auðkenni: 105 og Nafn: Finn sem við gáfum inn í kóðanum.

VBA kóða skýring

6889

Skilgreinir breyturnar.

4254

Stilling á nafni blaðs og töfluheiti inni í breytum.

9440

Geymsla uppflettigildin og uppflettisdálkana til að leita í.

8426

Þessi kóðastykki skannar í gegnum frá upphafi til enda áskriftarinnar og ef það finnur samsvörun skilgreinds auðkennis og nafns í leitardálkunum þá geymdu niðurstöðuna og lokaðu öllum yfirlýsingum. Farðu líka úr endurtekningu og farðu í næsta hluta kóðans.

3572

Hendar niðurstöðunni í MsgBox.

Lesa meira: Flett og skila Mörg gildi sameinuð í eina reit í Excel

Niðurstaða

Til að ljúka við sýndi þessi grein þér 3 mismunandi aðferðir til að framkvæma INDEX MATCH byggt á mörgum forsendum í Excel með VBA fjölvi . Ég vona að þessi grein hafi verið þér mjög gagnleg. Ekki hika við að spyrja spurninga varðandi efnið.

Hugh West er mjög reyndur Excel þjálfari og sérfræðingur með yfir 10 ára reynslu í greininni. Hann er með BA gráðu í bókhaldi og fjármálum og meistaragráðu í viðskiptafræði. Hugh hefur ástríðu fyrir kennslu og hefur þróað einstaka kennsluaðferð sem auðvelt er að fylgja eftir og skilja. Sérfræðiþekking hans á Excel hefur hjálpað þúsundum nemenda og fagfólks um allan heim að bæta færni sína og skara fram úr í starfi. Í gegnum bloggið sitt deilir Hugh þekkingu sinni með heiminum og býður upp á ókeypis Excel námskeið og netþjálfun til að hjálpa einstaklingum og fyrirtækjum að ná fullum möguleikum.