Poboljšanje funkcije VLOOKUP

sadržaj

Kako pravilno spakovati padobran?

Benefit. Izdanje 2, revidirano.

Recimo da imamo sljedeću tabelu narudžbi:

Poboljšanje funkcije VLOOKUP

Moramo znati, na primjer, koliki je iznos Ivanovljevog trećeg naloga ili kada je Petrov izvršio svoj drugi posao. Ugrađena funkcija VLOOKUP može tražiti samo prvo pojavljivanje prezimena u tabeli i neće nam pomoći. Pitanja poput "Ko je bio upravitelj naloga broj 10256?" također će ostati bez odgovora, tk. ugrađeni VLOOKUP ne može vratiti vrijednosti iz kolona lijevo od kolone za pretraživanje.

Oba ova problema se rješavaju jednim potezom – napišimo vlastitu funkciju koja će tražiti ne samo prvu, već, u općem slučaju, N-tu pojavu. Štaviše, moći će pretraživati ​​i proizvoditi rezultate u bilo kojoj koloni. Nazovimo to, recimo, VLOOKUP2. 

Otvorite Visual Basic Editor pritiskom na ALT+F11 ili odabirom iz menija Usluga – Makro – Visual Basic Editor (Alati — Makro — Visual Basic Editor), umetnite novi modul (meni Umetak – Modul) i tamo kopirajte tekst ove funkcije:

Funkcija VLOOKUP2(Tabela kao varijanta, SearchColumnNum kao duga, SearchValue kao varijanta, _ N As Long, ResultColumnNum As Long) Dim i As Long, iCount As Long Odaberite Case TypeName(Table) Case "Range" For i = 1 To Table.Rows .Count If Table.Cells(i, SearchColumnNum) = SearchValue Onda iCount = iCount + 1 End Ako je iCount = N Onda VLOOKUP2 = Table.Cells(i, ResultColumnNum) Izlaz za Kraj ako je sljedeće i Slučaj "Variant()" Za i = 1 Za UBound(Table) Ako je Table(i, SearchColumnNum) = SearchValue Tada je iCount = iCount + 1 Ako je iCount = N Tada VLOOKUP2 = Table(i, ResultColumnNum) Izađite za Kraj Ako Sljedeći i Kraj Odaberite End funkciju  

Zatvorite Visual Basic Editor i vratite se u Excel.

Sada kroz Umetak – Funkcija (Insert — Funkcija) u kategoriji Definisano od strane korisnika (Definisano od strane korisnika) možete pronaći našu VLOOKUP2 funkciju i koristiti je. Sintaksa funkcije je sljedeća:

=VLOOKUP2(tabela; broj_kolone_gde_tražimo; tražena_vrijednost; N; broj_kolone_od_do_dobijene_vrijednosti)

Sada nam ograničenja standardne funkcije nisu prepreka:

Poboljšanje funkcije VLOOKUP

PS Posebno hvala The_Pristu na poboljšanju funkcije tako da može pretraživati ​​po zatvorenim knjigama.

  • Pronalaženje i zamjena podataka iz jedne tablice u drugu pomoću funkcije VLOOKUP
  • “Left VLOOKUP” koristeći funkcije INDEX i MATCH

 

Ostavite odgovor