Hirdetés
- Vezeték nélküli fülhallgatók
- Fujifilm X
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen videókártyát?
- 5.1, 7.1 és gamer fejhallgatók
- Modding és elektronikai kérdések
- HiFi műszaki szemmel - sztereó hangrendszerek
- Házimozi haladó szinten
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Milyen TV-t vegyek?
-
PROHARDVER!
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
ulrik19
tag
Csak azért, hogy mások számára is hasznos legyen a téma

Csináltam egy bővített vlookup() függvényt...
Használata pl:
=multivlookup($E$1:$N$100;3;0;1;A1;4;B1/2;10;"Béla")
ahol:
$E$1:$N$100 a keresés helye (mint vlookup)
3, azaz a tábla 3. oszlopában lévő adatot adja vissza
0, azaz ha nem talál semmit, 0-t adjon vissza. (lehet "" is akkor üresen marad, de bármi más szintén mehet ide)
ez a három kötelező paraméter
ez után lehet megadni a feltételeket az alábbi módon (a fenti példát követve)
párosával kell nézni a paramétereket:
1;A1 azaz a tábla 1. oszlopában A1-gyel egyenlő érték legyen (természetesen nem csak hivatkozás lehet itt)
4;B1/2 azaz a tábla 4. oszlopában a B1 cella értékének felét keresse
10;"Béla" azaz a tábla 10. oszlopában a "Béla" szöveg legyen
lehet 1, de akár több feltételt is belerakni, rugalmasan kezeli
Ha több sor is megfelelne a feltételnek, akkor az első találatot adja vissza
(a paraméterek között ÉS kapcsolat van, tehát mindnek meg kell felelni)Public Function multivlookup(HolKeressen As Range, MelyikOszlopAdatatAdjaVissza As Byte, HaNincsTalalat As Variant, ParamArray OszlopInformaciok() As Variant) As Variant
'Ha nem páros számú az OszlopInformaciok argumentum (az UBound elemszám-1 értéket ad vissza ilyenkor)
If (UBound(OszlopInformaciok) + 1) Mod 2 = 1 Then
'adjon vissza hibát
multivlookup = CVErr(1)
Exit Function
End If
Dim i As Integer, j As Integer, ok As Boolean
For i = 1 To HolKeressen.Rows.Count
ok = True
For j = 0 To UBound(OszlopInformaciok) Step 2
'ha nagyobb oszlopszám a hivatkozás, mint ahány oszlop egyáltalán van...
If HolKeressen.Columns.Count < OszlopInformaciok(j) Then
'adjon vissza hibát
multivlookup = CVErr(2)
Exit Function
End If
'ha nem felel meg a feltételnek, akkor ok = False (ne is vizsgálja ezt az adatsort tovább...)
If HolKeressen.Cells(i, OszlopInformaciok(j)) <> OszlopInformaciok(j + 1) Then
ok = False
Exit For
End If
Next j
'ha van találat, akkor ok = True (ne is menjen tovább, mert az első találot adatom vissza)
If ok Then
multivlookup = HolKeressen.Cells(i, MelyikOszlopAdatatAdjaVissza)
Exit Function
End If
Next i
'ha volt találat, akkor már kiléptünk a függvényből... ha nincs, akkor:
multivlookup = HaNincsTalalat
End Function
Új hozzászólás Aktív témák
- Windows 10/11 Home/Pro , Office 2024 kulcsok
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- Microsoft Office 2024 Home Business dobozos
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Lenovo ThinkPad dokkolók: USB-C 40A9/ 40AY/ 40AS/ Thunderbolt 3 40AC/ Hybrid USB-C DisplayLink 40AF
- Lenovo T14s Ryzen 7 4750U 32Gb Ram 1Tb NVMe SSD Érintőkijelző számlával Garanciával
- Vásárlunk iPhone 12/12 Mini/12 Pro/12 Pro Max
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- Alienware 500HZ AW2524HF 24,5" Monitor 27% ÁFÁS
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Fferi50
