Poboljšanje funkcije VLOOKUP

Sadržaj

Kako pravilno spakirati padobran?

Korist. Izdanje 2, revidirano.

Recimo da imamo sljedeću tablicu narudžbi:

Poboljšanje funkcije VLOOKUP

Moramo znati, primjerice, koliki je bio Ivanovljev treći nalog ili kada je Petrov izvršio svoj drugi posao. Ugrađena funkcija VLOOKUP može tražiti samo prvo pojavljivanje prezimena u tablici i neće nam pomoći. Pitanja poput "Tko je bio upravitelj narudžbe broj 10256?" također će ostati bez odgovora, tk. ugrađeni VLOOKUP ne može vratiti vrijednosti iz stupaca lijevo od onog za pretraživanje.

Oba ova problema su riješena u jednom potezu – napišimo vlastitu funkciju koja će tražiti ne samo prvo, već, općenito, N-to pojavljivanje. Štoviše, moći će pretraživati ​​i proizvoditi rezultate u svim stupcima. Nazovimo to, recimo, VLOOKUP2. 

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

Funkcija VLOOKUP2(Tablica kao varijanta, SearchColumnNum As Long, SearchValue As Variant, _ 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 Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i Case "Variant()" For i = 1 To UBound(Table) If Table(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 If iCount = N Then VLOOKUP2 = Table(i, ResultColumnNum) Exit For End If Next i End Select End Function  

Zatvorite Visual Basic Editor i vratite se u Excel.

Sada kroz Umetanje – funkcija (Umetni — funkcija) u kategoriji Korisnik definiran (Korisnik definiran) možete pronaći našu funkciju VLOOKUP2 i koristiti je. Sintaksa funkcije je sljedeća:

=VLOOKUP2(tablica; broj_kolona_gdje_tražimo; tražena_vrijednost; N; broj_kolona_od_do_dobivene_vrijednosti)

Sada nam ograničenja standardne funkcije nisu prepreka:

Poboljšanje funkcije VLOOKUP

PS Posebna zahvala The_Pristu za poboljšanje funkcije tako da može pretraživati ​​zatvorene knjige.

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

 

Ostavi odgovor