A VLOOKUP funkció fejlesztése

tartalom

Hogyan csomagoljunk megfelelően egy ejtőernyőt?

Haszon. 2. kiadás, átdolgozva.

Tegyük fel, hogy a következő rendelési táblázatunk van:

A VLOOKUP funkció fejlesztése

Tudnunk kell például, hogy mekkora volt Ivanov harmadik megbízása, vagy mikor hajtotta végre Petrov második üzletét. A beépített VLOOKUP függvény csak a vezetéknév első előfordulását tudja megkeresni a táblázatban, és nem segít nekünk. Olyan kérdések, mint például „Ki volt a 10256-os rendelés menedzsere?” szintén megválaszolatlan marad, tk. a beépített VLOOKUP nem tud értékeket visszaadni a keresőtől balra lévő oszlopokból.

Mindkét probléma egy csapásra megoldódik – írjuk meg saját függvényünket, amely nemcsak az első, hanem általában az N-edik előfordulást is keresi. Sőt, bármilyen oszlopban képes lesz keresni és eredményeket produkálni. Nevezzük mondjuk VLOOKUP2-nek. 

Nyissa meg a Visual Basic Editort az ALT+F11 billentyűkombinációval vagy a menü kiválasztásával Szolgáltatás – Makró – Visual Basic Editor (Eszközök — Makró — Visual Basic szerkesztő), helyezzen be egy új modult (menü Beszúrás – Modul), és másolja oda ennek a függvénynek a szövegét:

Függvény VLOOKUP2 (Táblázat mint változat, Keresés oszlop száma, keresési érték változatként, _ N olyan hosszú, eredményoszlop száma hosszú) Dim i As Long, iCount As Long Válasszon esettípusnév(tábla) Eset "Tartomány" For i = 1 - Tábla. Sorok .Count If Table.Cells(i, SearchOszlopNum) = Search Value Then iCount = iCount + 1 End If If iCount = N then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit for End If Next i "Variant()" i eset = 1 to UBound(Table) Ha Table(i, SearchOszlopSzám) = Keresési Érték Akkor iCount = iCount + 1 If iCount = N Akkor VLOOKUP2 = Táblázat(i, EredményOszlopSzám) Kilépés a végéhez Ha Következő i End Válassza ki a Vége Funkciót  

Zárja be a Visual Basic szerkesztőt, és térjen vissza az Excelbe.

Most át Beszúrás – Funkció (Beszúrás – Funkció) kategóriában Felhasználó által meghatározott (Felhasználó által meghatározott) megtalálhatja a VLOOKUP2 funkciónkat és használhatja. A függvény szintaxisa a következő:

=VKERESÉS2(tábla; a_keresett_oszlop száma; keresési_érték; N; az_oszlop_száma_a_érték_értékéig)

A standard funkció korlátai most nem akadályoznak bennünket:

A VLOOKUP funkció fejlesztése

PS Külön köszönet a The_Prist-nek a funkció fejlesztéséért, hogy a zárt könyvekben tudjon keresni.

  • Adatok keresése és helyettesítése egyik táblából a másikba a VLOOKUP függvény segítségével
  • „Bal oldali VLOOKUP” az INDEX és a MATCH funkciók használatával

 

Hagy egy Válaszol