Zhoda indexu VBA - Ako používať funkciu indexovej zhody vo VBA (príklady)

Zhoda indexu vo VBA

Funkcia INDEX & MATCH v kombinácii VBA je alternatívou k funkcii VLOOKUP v programe Excel. Vo VBA nemáme taký luxus, že by sme priamo používali funkciu INDEX & MATCH, pretože tieto dve funkcie nie sú súčasťou vstavaných funkcií VBA. Stále ich však môžeme použiť ako súčasť triedy funkcií pracovného hárka.

Ako používať indexovú zhodu vo VBA? (Krok za krokom)

Napríklad si pozrite nasledujúce údaje.

Vo vyššie uvedených údajoch je vyhľadávanou hodnotou názov oddelenia a na základe tohto názvu oddelenia musíme extrahovať sumu platu.

Ale problém je v tom, že stĺpec s výsledkami je tam v prvom a stĺpec vyhľadávacej hodnoty je potom stĺpcom s výsledkami. V takom prípade VLOOKUP nemôže načítať výšku platu, pretože VLOOKUP funguje iba sprava doľava, nie zľava doprava.

V týchto prípadoch musíme použiť kombinovaný vzorec funkcie VBA INDEX & MATCH. Vykonajme úlohu a nájdime výšku platu každého oddelenia v kóde VBA.

Krok 1: Začnite slnečnú rutinu.

Krok 2: Deklarujte premennú typu VBA Integer.

Kód:

Sub INDEX_MATCH_Example1 () Dim k ako celočíselný koncový sub

Krok 3: Teraz otvorte program For Next Loop vo VBA.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer For k = 2 To 5 Next k End Sub

Krok 4: Vo vnútri slučky VBA vykonajte vzorec. V piatom stĺpci musíme použiť vzorec, takže kód je CELLS (k, 5). Hodnota =

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = Ďalej k End Sub

Krok 5: V tejto bunke musíme použiť vzorec VBA INDEX & MATCH. Ako som povedal, musíme tieto funkcie použiť ako funkciu pracovného hárka v triede VBA, takže otvorte triedu funkcií pracovného hárka.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = WorksheetFunction. Ďalej k Koniec Sub

Krok 6: Po vstupe do triedy funkcií pracovného hárka uvidíme všetky dostupné funkcie pracovného hárka, preto vyberte funkciu INDEX.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = WorksheetFunction.Index (ďalší k End Sub

Krok 7: Pri používaní funkcie listu vo VBA si musíte byť úplne istí argumentmi vzorca. Prvý argument je pole tj. Z ktorého stĺpca potrebujeme výsledok. V takom prípade potrebujeme výsledok od A2 po A5.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Value = WorksheetFunction.Index (Range ("A2: A5"), Next k End Sub

Krok 8: Ďalej nasleduje to, z ktorého čísla riadku potrebujeme výsledok. Ako sme videli v predchádzajúcom príklade, nemôžeme zakaždým ručne zadať číslo riadku. Použite teda funkciu MATCH.

Ak chcete znova použiť funkciu MATCH, musíme otvoriť triedu funkcií pracovného hárka.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Value = WorksheetFunction.Index (Range ("A2: A5"), WorksheetFunction.Match (Next k End Sub)

Krok 9: Prvým argumentom MATCH funkcií je hodnota LOOKUP; tu je našou vyhľadávacou hodnotou názvy oddelení; je tam v bunkách (2, 4).

Pretože zakaždým, keď sa číslo riadku musí zmeniť, môžeme namiesto manuálneho čísla riadku 2 zadať premennú „k“. Bunky (k, 4). Hodnota

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = WorksheetFunction.Index (rozsah ("A2: A5"), WorksheetFunction.Match (bunky (k, 5). Hodnota, ďalšia k Koniec Sub

Krok 10: Ďalej je potrebné spomenúť rozsah hodnôt oddelenia, tj rozsah („B2: B5“).

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = WorksheetFunction.Index (rozsah ("A2: A5"), WorksheetFunction.Match (bunky (k, 5). Hodnota, rozsah („B2: B5“),

Ďalej k

Koniec Sub

Krok 11: Ďalej dajte argument 0, pretože potrebujeme presnú zhodu a zatvorte zátvorky.

Kód:

Sub INDEX_MATCH_Example1 () Dim k As Integer Pre k = 2 až 5 buniek (k, 5). Hodnota = WorksheetFunction.Index (rozsah ("A2: A5"), WorksheetFunction.Match (bunky (k, 4). Hodnota, rozsah ("B2: B5"), 0))

Ďalej k

Koniec Sub

Dobre, s kódovacou časťou sme hotoví. Spustíme kód, aby bol výsledok v stĺpci 5.

Takže sme dosiahli výsledok.

Tento vzorec môžeme použiť ako alternatívu k funkcii VLOOKUP.

Zaujímavé články...