Určite ste sa v praxi stihli zamyslieť nad problematikou hľadania v tabuľke podľa istej hodnoty. Väčšina z Vás by nemala mať problém používať legendárnu funkciu =vlookup(), no čo musíme urobiť v situácii ak potrebujeme vrátiť hodnotu z tabuľky podľa dvoch rovnocenných argumentov?
V tomto prípade by sa povedzme niečo ako =DOUBLELOOKUP() zišlo, avšak disponuje ním Excel? Primárne nie, avšak ja Vám ukážem ako si pomocou pár príkazov vytvoriť vlastnú funkciu, ktorá vyrieši tento problém. Začnime príkladom:
Na obrázku máme vytvorený prípad, v ktorom budeme hľadať osobu podľa mena a priezviska zároveň, no a nezabudnime, že nás zaujíma výška vkladu.
V tomto prípade by bolo ideálne ak by sme mali vytvorenú vlastnú funkciu typu:
=DOUBLELOOKUP( “Meno” ; “Priezvisko” ; “Tabuľka” ; “Vklad” )
Budeme potrebovať:
1 zápis typu Function() – End Function
1 FOR cyklus a 3 podmienky IF
8 premenných: LookUpValue1, LookUpValue2, LookUpColumn1 As Long, LookUpColumn2 As Long, ReturnColumn As Long, TableArray As Range, UB As Long, i As Long
VBA Kód bude vyzerať takto:
Function DOUBLELOOKUP(LookUpValue1, LookUpValue2, LookUpColumn1 _
As Long, LookUpColumn2 As Long, ReturnColumn As Long, TableArray As Range)
Dim UB As Long
Dim i As Long
UB = TableArray.Rows.Count ‘spočíta množstvo riadkov v TableArray
For i = 1 To UB
If TableArray(i, LookUpColumn1) = LookUpValue1 Then
If TableArray(i, LookUpColumn2) = LookUpValue2 Then
DOUBLELOOKUP = TableArray(i, ReturnColumn)
End If
End If
Next i
If DOUBLELOOKUP = "" Then
DOUBLELOOKUP = "#N/A"
End If
End Function
Celá táto funkcia funguje nasledovne:
LookUpValue1 = “Peter” ; LookUpValue2 = “Tabiš”
LookUpColumn1 = 1 (poradie stĺpca, v ktorom hľadá LookUpValue1)
LookUpColumn2 = 2 (poradie stĺpca, v ktorom hľadá LookUpValue2)
ReturnColumn = 3 (poradie stĺpca, z ktorého chceme vrátiť hodnotu)
TableArray = “C6:E14” (Tabuľka hodnôt)
Funkcia bude v Excel-i vyzerať takto:
Celý súbor spolu s vytvorenou funkciou si môžete stiahnuť tu. Dúfam, že táto funkcia Vám uľahčí prácu. V prípade dotazov ma neváhajte kontaktovať, poprípade kliknutím na:
Žiadne komentáre:
Zverejnenie komentára
Poznámka: Komentár môže zverejniť iba člen tohto blogu.