VBA Index egyezés - Az Index Match funkció használata a VBA-ban (példák)

Tartalomjegyzék

Indexmérkőzés a VBA-ban

Az INDEX & MATCH függvény a VBA kombinációban az Excel VLOOKUP függvényének alternatívája. A VBA-ban nincs olyan luxusunk, hogy közvetlenül használjuk az INDEX & MATCH függvényt, mert ez a két funkció nem része a VBA beépített funkcióinak. Azonban továbbra is felhasználhatjuk őket a munkalap függvényosztály részeként.

Hogyan kell használni az Index egyezést a VBA-ban? (Lépésről lépésre)

Nézze meg például az alábbi adatokat.

A fenti adatokban a keresési érték az osztály neve, és ezen osztály neve alapján ki kell vonnunk a fizetés összegét.

De a probléma itt az eredmény oszlop az elsőben van, a keresési érték oszlop pedig az eredmény oszlopban. Ebben az esetben a VLOOKUP nem tudja lekérni a fizetési összeget, mert a VLOOKUP csak jobbról balra működik, nem balról jobbra.

Ezekben az esetekben a VBA INDEX & MATCH függvény kombinációs képletét kell használnunk. Végezzük el azt a feladatot, hogy megtaláljuk az egyes részlegek bérösszegét a VBA kódban.

1. lépés: Indítsa el a napsütést.

2. lépés: Nyújtsa be a VBA Integer változót.

Kód:

INDEX_MATCH_Példa1 () Dim k mint egész vége Sub

3. lépés: Most nyissa meg a Next Loop elemet a VBA-ban.

Kód:

INDEX_MATCH_Példa1 () Dim k mint egész szám k = 2-től 5-ig Következő k Vége Sub

4. lépés: A VBA hurokban hajtsa végre a képletet. Az 5 -én oszlop, meg kell alkalmazni a képlet, így a kód SEJTEK (k, 5) .Value =

Kód:

INDEX_MATCH_Példa1 () Dim k mint egész szám k = 2-5 celláig (k, 5). Érték = Következő k End Sub

5. lépés: Ebben a cellában alkalmaznunk kell a VBA INDEX & MATCH képletet. Mint mondtam, ezeket a függvényeket munkalapfunkcióként kell használnunk a VBA osztályban, ezért nyissa meg a munkalapfüggvényosztályt.

Kód:

INDEX_MATCH_Példa1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction. Következő k End Sub

6. lépés: A munkalap funkcióosztály megadása után láthatjuk az összes rendelkezésre álló munkalapfüggvényt, ezért válassza az INDEX funkciót.

Kód:

INDEX_MATCH_Példa1 () Dim k ként egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (Következő k End Sub

7. lépés: A VBA-ban a munkalapfüggvény használata közben teljesen biztosnak kell lennie a képlet argumentumaiban. Az első argumentum a tömb, azaz melyik oszlopból kell az eredmény. Ebben az esetben az A2 és A5 közötti eredményre van szükségünk.

Kód:

INDEX_MATCH_Example1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (tartomány ("A2: A5"), Következő k End Sub

8. lépés: Ezután következik, hogy melyik sorszámból van szükségünk az eredményre. Amint azt a korábbi példában láthattuk, nem adhatjuk meg kézzel a sorszámot minden alkalommal. Tehát használja a MATCH funkciót.

A MATCH függvény ismételt használatához meg kell nyitnunk a Worksheet Function osztályt.

Kód:

INDEX_MATCH_Példa1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (tartomány ("A2: A5"), WorksheetFunction.Match (következő k End Sub

9. lépés: A MATCH függvények első argumentuma a LOOKUP érték; itt a keresési értékünk a részlegek neve; ott van a sejtekben (2, 4).

Mivel minden alkalommal, amikor a sorszámnak megváltoznia kell, megadhatjuk a „k” változót a 2. kézi sor helyett. Cellák (k, 4).

Kód:

INDEX_MATCH_Példa1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (tartomány ("A2: A5"), WorksheetFunction.Match (cellák (k, 5). Érték, következő k Vége al

10. lépés: Ezután meg kell említenünk a részleg értéktartományát, azaz a Tartományt („B2: B5”).

Kód:

INDEX_MATCH_Példa1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (tartomány ("A2: A5"), WorksheetFunction.Match (cellák (k, 5). Érték, tartomány) ("B2: B5"),

Következő k

End Sub

11. lépés: Ezután tegye az argumentumot 0-ra, mert pontos egyezésre van szükségünk, és zárjuk le a zárójeleket.

Kód:

INDEX_MATCH_Példa1 () Dim k k egész szám k = 2-5 celláig (k, 5). Érték = WorksheetFunction.Index (tartomány ("A2: A5"), WorksheetFunction.Match (cellák (k, 4). Érték, tartomány) ("B2: B5"), 0))

Következő k

End Sub

Ok, elkészültünk a kódoló résszel. Futtassuk a kódot, hogy az eredmény az 5. oszlopban legyen.

Szóval, megvan az eredmény.

Ezt a képletet a VLOOKUP függvény alternatívájaként használhatjuk.

érdekes cikkek...