Indeks VBA - Kako uporabiti funkcijo ujemanja indeksa v VBA (primeri)

Indeksna tekma v VBA

Funkcija INDEX & MATCH v kombinaciji VBA je alternativa funkciji VLOOKUP v Excelu. V VBA nimamo razkošja, da neposredno uporabljamo funkcijo INDEX & MATCH, ker ti dve funkciji nista del vgrajenih funkcij VBA. Vendar jih lahko še vedno uporabljamo kot del razreda funkcije delovnega lista.

Kako uporabiti indeksno ujemanje v VBA? (Korak za korakom)

Na primer, poglejte spodnje podatke.

V zgornjih podatkih je vrednost iskanja ime oddelka in na podlagi tega oddelka moramo izluščiti znesek plače.

Toda težava je v tem, da je stolpec z rezultati v prvem, stolpec iskalne vrednosti pa je nato stolpec z rezultati. V tem primeru VLOOKUP ne more doseči zneska plače, ker deluje le od desne proti levi, ne pa od leve proti desni.

V teh primerih moramo uporabiti kombinacijsko formulo funkcije VBA INDEX & MATCH. Izvedimo nalogo iskanja zneska plače vsakega oddelka v kodi VBA.

1. korak: Začnite s sončno rutino.

2. korak: Navedite spremenljivko VBA Integer.

Koda:

Sub INDEX_MATCH_Example1 () Dim k Kot celoštevilčni konec Sub

3. korak: Zdaj odprite For Next Loop v VBA.

Koda:

Sub INDEX_MATCH_Example1 () Dim k Kot celo število Za k = 2 do 5 Naslednje k End Sub

4. korak: V zanki VBA izvedite formulo. V 5 th stolpec, moramo uporabiti formulo, da je koda celice (K, 5) .Value =

Koda:

Sub INDEX_MATCH_Example1 () Dim k kot celo število Za k = 2 do 5 celic (k, 5). Vrednost = Naslednji k Konec Sub

5. korak: V tej celici moramo uporabiti formulo VBA INDEX & MATCH. Kot sem že povedal, moramo te funkcije uporabiti kot funkcijo delovnega lista v razredu VBA, zato odprite razred funkcije delovnega lista.

Koda:

Pod INDEX_MATCH_Example1 () Dim k kot celo število Za k = 2 do 5 celic (k, 5). Vrednost = Funkcija delovnega lista. Naprej k Konec Sub

6. korak: Po vnosu razreda funkcije delovnega lista lahko vidimo vse razpoložljive funkcije delovnega lista, zato izberite funkcijo INDEX.

Koda:

Sub INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5).

7. korak: Medtem ko uporabljate funkcijo delovnega lista v VBA, morate biti popolnoma prepričani v argumente formule. Prvi argument je matrika, tj. Iz katerega stolpca potrebujemo rezultat. V tem primeru potrebujemo rezultat od A2 do A5.

Koda:

Sub INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5).

Korak 8: Naslednje je od katere številke vrstice potrebujemo rezultat. Kot smo videli v prejšnjem primeru, ne moremo vsakič ročno vnesti številke vrstice. Torej uporabite funkcijo MATCH.

Za ponovno uporabo funkcije MATCH moramo odpreti razred Funkcije delovnega lista.

Koda:

Pod INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5). Vrednost = WorksheetFunction.Index (obseg ("A2: A5"), WorksheetFunction.Match (Naslednji k Konec Sub

9. korak: prvi argument funkcij MATCH je vrednost LOOKUP; tu so naša iskalna vrednost imena oddelkov; tam je v celicah (2, 4).

Ker se vsakič, ko se mora spremeniti številka vrstice, lahko namesto ročne številke vrstice 2 vnesemo spremenljivko „k“. Celice (k, 4).

Koda:

Pod INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5) .Value = WorksheetFunction.Index (obseg ("A2: A5"), WorksheetFunction.Match (celice (k, 5). k End Sub

Korak 10: Nato moramo omeniti obseg vrednosti oddelka, tj. Obseg (“B2: B5”).

Koda:

Pod INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5) .Value = WorksheetFunction.Index (obseg ("A2: A5"), WorksheetFunction.Match (celice (k, 5). ("B2: B5"),

Naslednji k

Končaj pod

11. korak: Nato argument postavite kot 0, ker potrebujemo natančno ujemanje in zapremo oklepaje.

Koda:

Pod INDEX_MATCH_Example1 () Dim k kot celo število za k = 2 do 5 celic (k, 5) .Value = WorksheetFunction.Index (obseg ("A2: A5"), WorksheetFunction.Match (celice (k, 4). ("B2: B5"), 0))

Naslednji k

Končaj pod

Ok, končali smo s kodiranjem. Zaženimo kodo, da bomo dobili rezultat v stolpcu 5.

Torej, dobili smo rezultat.

To formulo lahko uporabimo kot alternativo funkciji VLOOKUP.

Zanimive Članki...