VBA indeksa spēle | Kā izmantot indeksu atbilstības funkciju VBA (piemēri)

Indeksa mačs VBA

INDEX & MATCH funkcija VBA kombinācijā ir alternatīva funkcijai VLOOKUP Excel. VBA mums nav greznība tieši izmantot INDEX & MATCH funkciju, jo šīs divas funkcijas nav VBA iebūvēto funkciju sastāvdaļa. Tomēr mēs joprojām varam tos izmantot kā daļu no darblapas funkciju klases.

Kā izmantot indeksu atbilstību VBA? (Soli pa solim)

Šo VBA Index Match Excel veidni varat lejupielādēt šeit - VBA Index Match Excel veidne

Piemēram, apskatiet tālāk minētos datus.

Iepriekš minētajos datos uzmeklēšanas vērtība ir departamenta nosaukums, un, pamatojoties uz šo nodaļas nosaukumu, mums jāiegūst algas summa.

Bet šeit problēma ir rezultātu kolonna, kas atrodas pirmajā, un pēc tam meklēšanas rezultātu slejā ir rezultātu kolonna. Šajā gadījumā VLOOKUP nevar iegūt algas summu, jo VLOOKUP darbojas tikai no labās uz kreiso, nevis no kreisās uz labo.

Šādos gadījumos mums ir jāizmanto funkcijas VBA INDEX & MATCH kombinācijas formula. Veiksim uzdevumu atrast katras nodaļas algas apmēru VBA kodā.

1. solis: sāciet sauļoties.

2. darbība: paziņojiet mainīgo VBA Integer.

Kods:

 INDEX_MATCH_Piemērs1 () Apakšdimensija k Integer End Sub 

3. solis: Tagad VBA atveriet nākamo cilpu.

Kods:

 Apakšindekss INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 Nākamais k Beigas Sub 

4. solis: izpildiet formulu VBA cilpas iekšpusē. 5. kolonnā mums jāpielieto formula, tāpēc kods ir CELLS (k, 5). Vērtība =

Kods:

 INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = Nākamais k Beigas Sub 

5. solis: Šajā šūnā mums jāpielieto VBA INDEX & MATCH formula. Kā es teicu, mums šīs funkcijas jāizmanto kā darblapas funkcija vba klasē, tāpēc atveriet darblapas funkciju klasi.

Kods:

Apakšindekss INDEX_MATCH_Example1 () Dim k kā Integer k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction. Nākamais k Beigu apakšsadaļa

6. solis: Pēc darblapas funkciju klases ievadīšanas mēs varam redzēt visu pieejamo darblapas funkciju, tāpēc atlasiet funkciju INDEX.

Kods:

 Apakšindekss INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (Nākamais k beigu apakšsadaļa 

7. solis: Izmantojot VBA darblapas funkciju, jums ir jābūt pilnīgi pārliecinātiem par formulas argumentiem. Pirmais arguments ir masīvs, ti, no kuras kolonnas mums ir vajadzīgs rezultāts, šajā gadījumā mums ir vajadzīgs rezultāts no A2 līdz A5.

Kods:

 Apakšindekss INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (diapazons ("A2: A5"), nākamais k beigu apakšsadaļa 

8. solis: Nākamais ir rezultāts, no kura rindas numura mums ir vajadzīgs rezultāts. Kā mēs redzējām iepriekšējo piemēru, mēs katru reizi nevaram manuāli piegādāt rindas numuru. Tāpēc izmantojiet funkciju MATCH.

Lai vēlreiz izmantotu funkciju MATCH, mums jāatver Worksheet Function klase.

Kods:

 INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (diapazons ("A2: A5"), WorksheetFunction.Match (Nākamais k beigu apakšsadaļa 

9. solis: MATCH funkcijas pirmais arguments ir LOOKUP vērtība, šeit mūsu uzmeklēšanas vērtība ir nodaļu nosaukumi, tā ir šūnās (2, 4).

Tā kā katru reizi rindas numuram ir jāmainās, manuālās 2. rindas vietā mēs varam piegādāt mainīgo “k”. Šūnas (k, 4).

Kods:

 INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (diapazons ("A2: A5"), WorksheetFunction.Match (šūnas (k, 5). Vērtība, nākamais) k Beigu apakšdaļa 

10. solis: Tālāk jāpiemin nodaļas vērtību diapazons, ti, diapazons (“B2: B5”).

Kods:

 INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (diapazons ("A2: A5"), WorksheetFunction.Match (šūnas (k, 5). Vērtība, diapazons) ("B2: B5"), 

Nākamais k

Beigu apakš

11. solis: Pēc tam ievietojiet argumentu kā 0, jo mums ir nepieciešama precīza atbilstība un aizveriet iekavas.

Kods:

 INDEX_MATCH_Piemērs1 () Dim k kā skaitlis k = 2 līdz 5 šūnas (k, 5). Vērtība = WorksheetFunction.Index (diapazons ("A2: A5"), WorksheetFunction.Match (šūnas (k, 4). Vērtība, diapazons) ("B2: B5"), 0)) 

Nākamais k

Beigu apakš

Labi, mēs esam pabeiguši ar kodēšanas daļu. Palaidīsim kodu, lai rezultāts būtu 5. kolonnā.

Tātad, mēs saņēmām rezultātu.

Mēs varam izmantot šo formulu kā alternatīvu funkcijai VLOOKUP.


$config[zx-auto] not found$config[zx-overlay] not found