Excel VBA Match Function

VBA Match Function traži poziciju ili broj retka vrijednosti pretraživanja u polju tablice, tj. U glavnoj excel tablici. Na primjer, VLOOKUP, HLOOKUP, MATCH, INDEX itd. Ovo su funkcije pretraživanja koje su važnije od ostalih. Na žalost, nemamo iste funkcije dostupne u VBA za olakšavanje stvari. Međutim, ove funkcije možemo koristiti kao radne listove pod VBA skriptu kako bismo olakšali naš život.

Danas ćemo saznati funkciju MATCH koja se pod VBA može koristiti kao radni list.

VBA Match ima istu upotrebu kao formula Match u Excelu. Ova funkcija u MS Excel VBA pronalazi podudaranje u nizu s obzirom na vrijednost pretraživanja i ispisuje njegovu poziciju. Ova funkcija postaje korisna kada trebate procijeniti podatke na temelju određenih vrijednosti. Na primjer, VBA UTAKMICA je korisna ako imate podatke o plaćama zaposlenika i trebate saznati brojčani položaj zaposlenika u svojim podacima koji ima plaću manju / veću od / jednaku određenoj vrijednosti. To je zaista korisno u analiziranju podataka, a također jedna linija koda može automatizirati stvari umjesto vas.

Sintaksa Match funkcije u Excelu VBA

VBA Match ima sljedeću sintaksu:

Gdje,

  • Arg1 - Lookup_value - Vrijednost koja vam je potrebna za pronalaženje u određenom polju.
  • Arg2 - Lookup_array - niz redova i stupaca koji sadrže moguće Lookup_value.
  • Arg3 - Match_type - Vrsta podudaranja koja uzima vrijednost -1, 0 ili 1.

Ako match_type = -1 znači da će funkcija MATCH saznati najmanju vrijednost koja je veća ili jednaka vrijednosti lookup_value. Da bi se to dogodilo, lookup_array mora biti razvrstan prema silaznom redoslijedu.

Ako match_type = 0 znači da će funkcija MATCH saznati vrijednost koja je točno jednaka vrijednosti lookup_value.

Ako je match_type = +1 to znači da će funkcija MATCH pronaći najveću vrijednost koja je manja ili jednaka lookup_value. Da bi se to dogodilo, lookup_array mora biti sortiran uzlaznim redoslijedom. Zadana vrijednost za vrstu podudaranja je +1.

Kako se koristi Excel VBA Match function?

Naučit ćemo kako koristiti VBA Match Excel funkciju s nekoliko primjera.

Možete preuzeti ovaj VBA Match Excel predložak ovdje - VBA Match Excel predložak

Funkcija VBA podudaranja - Primjer # 1

Pretpostavimo da imamo podatke kao što je prikazano u nastavku:

Moramo pronaći tko s ovog popisa ima plaću 30.000 eura zajedno s pozicijom u Excelu.

Iako u ovom skupu podataka to možemo ručno konfigurirati, razmislite o široj slici, što ako imate milijune redaka i stupaca?

Slijedite dolje navedene korake za upotrebu MATCH funkcije u VBA.

Korak 1: Definirajte podprocedu dajući ime makronaredbi.

Kodirati:

 Sub exmatch1 () Kraj Sub 

Korak 2: Sada želimo da se naš izlaz pohrani u ćeliju E2. Stoga započnite pisati kôd kao raspon ("E2")

To definira raspon izlaza za naš rezultat.

Kodirati:

 Podizgled1 () Raspon ("E2"). Vrijednost = Kraj sub 

Korak 3: Koristite WorksheetFunction da biste mogli koristiti VBA funkcije.

Kodirati:

 Pod exmatch1 () raspon ("E2") Vrijednost = WorksheetFunction End Sub 

Korak 4: WorksheetFunction ima mnoštvo funkcija kojima se može pristupiti i koristiti se pod VBA. Nakon "WorksheetFunction", stavite točku (.) I moći ćete pristupiti funkcijama. Na padajućem popisu odaberite funkciju MATCH.

Kodirati:

 Podizgled1 () Raspon ("E2") Vrijednost = WorksheetFunction.Match End Sub 

Korak 5: Sada, navedite argumente funkciji MATCH. Kao Lookup_value. Naša vrijednost Lookup_va sprema se u ćeliju D2 kao što je prikazano na snimci zaslona u nastavku. Možete mu pristupiti putem funkcije MATCH pomoću funkcije Range.

Kodirati:

 Podizgled1 () Raspon ("E2"). Vrijednost = WorksheetFunction.Match (Raspon ("D2"). Vrijednost, Kraj Pod 

Korak 6: Drugi argument je Lookup_array. Ovo je raspon tablica u kojem želite saznati položaj Lookup_value. U našem slučaju to je (B1: B11). Pružite ovaj niz pomoću funkcije Raspon.

Kodirati:

 Sub exmatch1 () Raspon ("E2"). Vrijednost = WorksheetFunction.Match (Raspon ("D2"). Vrijednost, raspon ("B1: B11"), Kraj Sub 

Korak 7: Posljednji argument za ovaj kôd koji treba razraditi je Match_type. Željeli smo imati točno podudaranje za Lookup_value u zadanom rasponu> Stoga, navedite Zero (0) kao odgovarajući argument.

Kodirati:

 Sub exmatch1 () Raspon ("E2"). Vrijednost = WorksheetFunction.Match (Raspon ("D2"). Vrijednost, raspon ("B1: B11"), 0) Kraj Sub 

Korak 8: Pokrenite ovaj kod pritiskom na tipku F5 ili Run i pogledajte izlaz.

Možete vidjeti u ćeliji E2, postoji brojčana vrijednost (6) koja prikazuje položaj vrijednosti iz ćelije D2 do raspona B1: B11.

Primjer br. 2 - Funkcija VBA podudaranja s petljicama

To je lako kada imate samo jednu vrijednost za pretraživanje u cijelom rasponu. Ali, što ako trebate provjeriti položaj na većem broju ćelija? Bilo bi oštro prema osobi koja je dodaje da bi je tražio da napiše odvojene kodove za svaku ćeliju.

U takvim se slučajevima MATCH funkcija može koristiti s petljom (posebice Za petlju u našem slučaju). Pogledajte sljedeće korake za dobivanje ideje o tome kako koristimo MATCH funkciju s petljom.

Korak 1: Definirajte podproceduru davanjem imena makronaredbi.

Kodirati:

 Sub Primjer2 () Kraj Sub 

Korak 2: Definirajte cijeli broj koji može sadržavati vrijednost za više ćelija u petlji.

Kodirati:

 Sub Primjer2 () Dim i Kao cjeloviti kraj Sub 

Korak 3: Upotrijebite petlju za cijeli broj za korištenje različitih vrijednosti pretraživanja čiji se položaj može pohraniti u stupac E.

Kodirati:

 Sub Primjer2 () Dim i kao cjelobrojni broj za i = 2 do 6 Krajnji sub 

Korak 4: Sada koristite istu metodu koju smo koristili u primjeru 1, samo umjesto raspona, koristit ćemo funkciju Čelije i koristit ćemo dvodimenzionalni niz (Redovi i stupci) za razliku od prvog primjera.

Kodirati:

 Pod-primjer2 () Dim i kao cjelobrojni broj za i = 2 do 6 ćelija (i, 5) .Value = Radni listFunction.Match (ćelije (i, 4) .Value, raspon ("B2: B11"), 0) Sljedeći i kraj Pod 

Ovdje ćelije (i, 5) .Value = pohranjuje vrijednost rezultirajućih pozicija u svakom retku od 2 do 6 (red i) u stupcu E (stupac broj 5). U funkciji podudaranja, ćelije (i, 4). Vrijednosti provjeravaju svaku Lookup_value prisutnu u redima 2 do 6 u 4. stupcu. Ta je vrijednost pretraživanja zatim pretraživala u Array B2: B11 u excel listu gdje su podaci i relativni položaji mogu se pohraniti u svaki red stupca 5 (stupac E).

Korak 5: Pokrenite ovaj kôd pritiskom na F5 ili Run tipku istovremeno i pogledajte rezultat. Gotovo će izvući magiju u komadu koda s jednim retkom.

U ovom smo članku naučili kako možemo koristiti MATCH funkciju pod VBA kao poseban slučaj WorksheetFunction.

Stvari koje treba zapamtiti

  • Lookup_value može biti broj / tekst / logička vrijednost ili može biti referenca u ćeliji na broj, tekst ili logičku vrijednost.
  • Prema zadanom Match_type može se smatrati 1, ako je izostavljen / nije spomenut.
  • Kao što je i Excel MATCH funkcija, VBA MATCH također daje relativni položaj Lookup_value pod Lookup_array, a ne samu vrijednost.
  • Ako se podudaranje ne nađe, relativna ćelija excela biti će ispunjena s # N / A.
  • Ako se funkcija MATCH koristi za tekstne vrijednosti, ona ne može razlikovati između malih i velikih slova. Na primjer, Lalit i lalit su isti. Tako i LALIT i lalit.
  • Zamjenski znakovi mogu se koristiti ako saznate točno podudaranje (tj. Vrsta podudaranja je nula). Znak zvjezdica s zamjenskim znakom (*) može se koristiti za pronalaženje niza znakova. Iako se upitnik (?) Može koristiti za otkrivanje jednog znaka.

Preporučeni članci

Ovo je vodič za VBA utakmicu funkciju. Ovdje smo raspravljali o VBA Match i kako koristiti Excel VBA Match Match funkciju, uz praktične primjere i preuzeti excel predložak. Možete i pregledati naše druge predložene članke -

  1. Kompletan vodič za VBA o pogrešci
  2. Kako se koristi VBA format broja?
  3. VBA VLOOKUP funkcija s primjerima
  4. Stvaranje VBA funkcije u Excelu
  5. Funkcija podudaranja u Excelu (primjeri)

Kategorija: