VBA INDEX MATCH Bazita sur Multoblaj Kriterioj en Excel (3 Metodoj)

  • Kundividu Ĉi Tion
Hugh West

Kiam ni havas grandan kvanton da datumoj tiam foje estas malfacile ĉerpi iujn specifajn datumojn el la datumaro. Kune kun la funkcioj INDEX kaj MATCH de Excel povas retrovi ajnan specon de datumoj eĉ en grandega datumaro. Efektivigi VBA estas la plej efika, plej rapida kaj sekura metodo por ruli ajnan operacion en Excel. En ĉi tiu artikolo, ni montros al vi 3 malsamajn metodojn pri kiel fari INDEXKOMATIKO surbaze de pluraj kriterioj en Excel kun la VBA-makro .

Elŝutu Laborlibro

Vi povas elŝuti la senpagan ekzercan Excel-libron de ĉi tie.

VBA INDEX MATCH Bazita sur Multoblaj Kriterioj.xlsm

3 Metodoj kun VBA INDEX MATCH Bazita sur Multoblaj Kriterioj en Excel

En la sekvaj sekcioj, ni montros al vi kiel fari INDEX-MATCH surbaze de pluraj kriterioj por gamo , por specifa elekto kaj por tabelo en Excel kun VBA .

/2688craob7.png"/>

Supre ni havas la datumaron, kiun ĉi tiu artikolo sekvos. Ni havas la Studenta Nomo , Studenta ID, kaj Ekzamenoj de ĉiu studento en la datumaro. Ni ĉerpos certan rezulton loĝantan en unu kolumno surbaze de kondiĉoj de la aliaj du kolumnoj.

Kriterioj – 1: Enmetu VBA kun INDEX MATCH por Multobla (Du) Dimensia Serĉo en Excel

Konsideru la sekvan bildon. Ni konservis specifan studentan nomon " Edge" en ĈeloG4 ; kaj la kolumno, en kiu ni serĉos la Rezulton , Ekzamenmarkoj , estas konservita en Ĉelo G5 . Ni serĉos en la kolumno Ekzamenoj kaj stokos la Markojn kiujn " Edge" ricevis en Ĉelo G6 .

/2688craob7-1.png"/>

La paŝoj por serĉi rezultas en dudimensia tabelo kun INDEX kaj MATCH en Excel kun VBA estas donitaj sube.

Paŝoj:

  • En la komenco, premu Alt + F11 sur via klavaro aŭ iru al la langeto Programisto -> Visual Basic por malfermi Visual Basic Editor .

/2688craob7-2.png"/>

  • Sekva, en la ŝprucfenestro de kodo, el la menubreto, alklaku Enmeti -> Modulo .

/2688craob7-3.png"/>

  • Tiam, kopiu la sekvan kodon kaj algluu ĝin en la kodon fenestro.
9346

Via kodo nun estas preta por ruliĝi.

/2688craob7-4.png"/>

  • Nun premu F5 sur via klavaro aŭ el la menubreto elektu Run -> Rulu Sub/UserForm . Vi ankaŭ povas simple klaki sur la malgranda Run-piktogramo en la submenubreto por ruli la makroon.

/2688craob7-5.png"/>

Post la koda ekzekuto, rigardu la ĉi-suban gifon por vidi la rezulton.

/2688craob7-6.png"/>

Kiel rezulto, la Markoj kiujn " Rando" ricevis en la ekzameno, 67 , estas prenita en Ĉelo G7 .

VBA-Kodo-Klarigo

7288

Difinante la variablon de Laborfolio.

1701

Konservu la nomon de laborfolio. La nomo de nia folio estas "Du Dimensio", vi devus provizila nomo laŭ via kalkultabelo.

5248

Tiu ĉi kodo elektas la intervalon C5:D14 kiel serĉan intervalon. Poste serĉu la matĉon, kiu estas konservita en ĉelo G4 en intervalo B5:B14 kaj serĉu la matĉon, kiu estas konservita en ĉelo G5 en intervalo C4:D4 kaj transdonu la rezulton al ĉelo G6 .

Legu Pli: Kiel Uzi INDEX-MATACH kun Multoblaj Kriterioj por Datintervalo

Kriterioj – 2: Apliki Makroon por Trovi MATCH-valoron per INDEX kun Uzant-Difinita Funkcio (UDF)

Vi povas ĉerpi kongruajn valorojn el datumaro kun aro. uzanto-difinita funkcio (UDF) . El la sekva bildo, kion ni faros, ni pasigos la Studentidentigilon kaj Ekzamenajn notojn de certa studento kaj la funkcio ĵetos al ni la Nomon de tiu specifa studento.

/2688craob7-7.png"/>

Ni vidu kiel atingi tion por Studenta Nomo “Finno” kun VBA .

Paŝoj:

  • Kiel antaŭe montrite, malfermu Visual Basic Editor el la langeto Programisto kaj Enigu Modulo en la kodfenestron.
  • Tiam, en la kodfenestro, kopiu la sekvan kodon kaj gluu ĝin.
4997

/2688craob7-8.png"/>

  • Ne rulu ĉi tiun kodon, konservu ĝin.
  • Nun, reiru al la laborfolio interesa. Elektu ajnan ĉelon , kiun vi volas konservi la rezulton. En nia kazo, ĝi estas Ĉelo F5 .
  • En tiu ĉelo, skribu la UDF kiun viĵus kreis en la kodo ( MatchByIndex ) kaj pasi la Student ID kaj Ekzamenmarkoj de la specifa studento ene de la krampoj de la funkcio.

Kiel ni provas ĉerpi la nomon “ Finn” el lia ID (105) kaj Markoj (84) , do por nia kazo la formulo fariĝas,

=MatchByIndex(105,84)

  • Tiam premu Enigu .

/2688craob7-9.png"/>

Rigardu la sekvan bildon.

/2688craob7-10.png"/>

En Ĉelo F5 , ni sukcese retrovis la nomon “ Finno” simple pasigante siajn ID kaj Markojn en la funkcion, kiun ni kreis en la VBA -kodo.

VBA-Kodo-Klarigo

9057

Kreante novan funkcion kaj pasigante la variablojn en ĝi. Vi povas difini ajnan nomon al la funkcio.

8212

Nia vico komenciĝas de la vico numero 4. Vi devas provizi la vicon de kiu komenciĝas via datumaro.

7713

Difinante la variablojn.

1124

Unue, difinu la laborfolion por labori. La nomo de nia folio estas "UDF", vi devus doni la nomon laŭ via kalkultabelo. Poste komencu serĉi en la gamo C:D de la unua vico, kiun ni difinis ĝis la lasta vico.

6490

Komencu ripetadi de la unua vico ĝis la lasta vico. Se la unua valoro, kiun ni transdonos ene de la funkcio, falas ene de la kolumno C kaj se la dua valoro, kiun ni transdonos ene de la funkcio, falas ene de la kolumno D , tiam ĝi revenos lakongruo el la B kolumno. Alie, eliru la funkcion, ĉesigu ĉiujn deklarojn, kaj iru al la sekva linio.

2881

Se la antaŭa kondiĉo ne plenumiĝos dum la ekzekuto, tiam la mesaĝo "Datumoj ne trovitaj" estos resendita kaj la kodo forlasos la funkcion.

Legu Pli: INDEX-MATCH kun Multoblaj Kriterioj por Parta Teksto en Excel (2 Manieroj)

Kriterioj – 3: Efektivigu VBA por Resendi MATCH-valoron de Tabelo kun Multoblaj Datumoj en Excel

En ĉi tiu sekcio, ni lernos kiel redoni egalan valoron per la indeksoj de tabelo en la MsgBox en VBA Excel.

/2688craob7-11.png"/>

Ni vidu kiel ĉerpi la Markojn el la tabelo montrita en nia datumaro ( T ebla Nomo: TableMatch ) de certa studento provizante la Nomon kaj la ID ene de la kodo. Por nia kazo, la Nomo kaj la ID estos Finn kaj 105 respektive.

Paŝoj :

  • Unue, malfermu Visual Basic Editor el la langeto Ellaboranto kaj Enigu a Modulo en la kodfenestro.
  • Tiam, kopiu la sekvan kodon kaj algluu ĝin en la kodfenestron.
3545

Vian kodon nun estas preta por ruli.

/2688craob7-12.png"/>

  • Poste, Rulu ĉi tiun kodon kaj rigardu la sekvan bildon por vidi kio okazis kiel rezulto.

/2688craob7-13.png"/>

Kiel vi povas vidi el la supra bildo, estas Microsoft Excel pop-supren mesaĝkesto montrante al vi la Markojn: 84 de ID: 105 kaj Nomon: Finn kiujn ni disponigis en la kodo.

VBA-Kodo-Klarigo

6934

Difinante la variablojn.

4981

Agordi la folionomon kaj la tabelnomon ene de variabloj.

7074

Stokado la serĉvalorojn kaj la serĉkolumnojn por serĉi.

8929

Ĉi tiu peco de kodo skanas tra de la komenco ĝis la fino de la abono kaj se ĝi trovas la kongruon de la difinita ID kaj la Nomo en la serĉkolumnoj tiam konservu la rezulton kaj fermu ĉiujn deklarojn. Ankaŭ eliru la ripeton kaj iru al la sekva parto de la kodo.

1579

Ĵetas la rezulton en la MsgBox.

Legu Pli: Serĉi kaj Reveni Multoblaj valoroj kunligitaj en unu ĉelon en Excel

Konkludo

Por konkludi, ĉi tiu artikolo montris al vi 3 malsamajn metodojn pri kiel fari INDEX-MATACH bazitan. laŭ pluraj kriterioj en Excel kun la VBA-makro . Mi esperas, ke ĉi tiu artikolo estis tre utila al vi. Bonvolu demandi ajnajn demandojn pri la temo.

Hugh West estas tre sperta Excel-trejnisto kaj analizisto kun pli ol 10 jaroj da sperto en la industrio. Li tenas bakalaŭron en Kontado kaj Financo kaj magistron en Komercadministracio. Hugh havas entuziasmon por instruado kaj evoluigis unikan instruan aliron kiu estas facile sekvi kaj kompreni. Lia sperta scio pri Excel helpis milojn da studentoj kaj profesiuloj tutmonde plibonigi siajn kapablojn kaj elstari en siaj karieroj. Per sia blogo, Hugh dividas sian scion kun la mondo, proponante senpagajn Excel-lernilojn kaj interretan trejnadon por helpi individuojn kaj entreprenojn atingi sian plenan potencialon.