Radosław
Dumania
Senior Master Data
Analyst
Temat: Multi vlookup / Wyszukaj.pionowo
Czesc,Jednym z ograniczen zwiazanych z popularna funkcja vlookup jest wyszukiwanie tylko pierwszej wartosci z listy referencyjnej. A jesli chcielibysmy zwrocic "wiecej niz jedno zwierze"?
Jedno z mozliwych rozwiazan:
'Do implementacji w module VBA
Option Explicit
Public Function multi_vlookup(lookup_value As Range, table_area As Range, col_ind_num As Integer, row_ind_num As Integer)
'Opcjonalnie - On Error GoTo fin
Dim i, k As Integer
Dim Last As Long
Dim value() As String
Last = table_area.Cells(Rows.Count, 1).End(xlUp).Row
k = 0
For i = 1 To Last
If table_area.Cells(i, 1) = lookup_value Then
ReDim Preserve value(k)
value(k) = table_area.Cells(i, col_ind_num)
k = k + 1
End If
Next
multi_vlookup = value(row_ind_num - 1)
fin:
End Function
W komorce excela:
=multi_vlookup(A1,Arkusz2!$A:$E,NrKolumny,NrRekordu)
NrKolumn - wartosc numeryczna - oznaczenie z ktorej kolumny bedziemy zwracac wartosc
NrRekordu - wartosc numeryczna - ktora kolejna wartosc z listy chcemy zwrocic.
Uwaga: nalezy podac jako zakres/referencje cale kolumny - tak jak w przykladzie - Arkusz2!$A:$E
Moze sie komus przyda kiedys.
Pzdr
R.Ten post został edytowany przez Autora dnia 09.11.17 o godzinie 12:06