Ahoj, potřeboval bych poradit se vzorečkem. Mám vzoreček třeba "=INDEX(A:C;POZVYHLEDAT(D1;A:A;0);3), který vyhledá přesnou hodnotu z buňky D1 ve sloupci A a vrátí hodnotu ze stejného řádku z třetího sloupce.
problém mám v tom, že mi funkce "POZVYHLEDAT" vrátí číslo řádku prvního výskytu, ale já bych potřeboval číslo řádku posledního výskytu. Je to možné ??
Excel - Vyhledávací funkce
Moderátor: Mods_senior
-
navstevnik
- Level 4

- Příspěvky: 1142
- Registrován: 29 srp 2008 16:49
Re: Excel - Vyhledávací funkce
Pouzij vlastni funkci (UDF), ekvivalentni PozVyhledat - vraci relativni polohu posledni polozvy v matici, vzdy shoda :
V editoru VBA vloz do standardniho modulu:
Syntaxe: =PozVyhledat2(co,prohledat)
=PozVyhledat2(D1;A10:A20)
Pokud nenalezne vraci 0 (nula).
PS: ve svem vzorecku misto fce Index muzes pouzit fci Posun: =POSUN(A10;PozVyhledat2(D1;A10:A20)-1;2;1;1)
V editoru VBA vloz do standardniho modulu:
Kód: Vybrat vše
Option Explicit
Function PozVyhledat2(What As Variant, Table As Range) As Long
Dim Cll As Range, TmpRow As Long
TmpRow = 0
For Each Cll In Table.Cells
If Cll.Value = What Then TmpRow = Cll.Row
Next Cll
If TmpRow = 0 Then
PozVyhledat2 = 0
Else
PozVyhledat2 = TmpRow - Table.Resize(1, 1).Row + 1
End If
End FunctionSyntaxe: =PozVyhledat2(co,prohledat)
=PozVyhledat2(D1;A10:A20)
Pokud nenalezne vraci 0 (nula).
PS: ve svem vzorecku misto fce Index muzes pouzit fci Posun: =POSUN(A10;PozVyhledat2(D1;A10:A20)-1;2;1;1)
Naposledy upravil(a) navstevnik dne 26 lis 2010 11:03, celkem upraveno 1 x.
Re: Excel - Vyhledávací funkce
Pokud bych se chtěl vyhnout VBA, tak bych to řešil tak, že bych u sloupců A,B,C obrátil jejich pořadí.
- Branscombe
- Level 3

- Příspěvky: 469
- Registrován: 11 čer 2009 21:39
Re: Excel - Vyhledávací funkce
Díky za funkci, ale je dosti pomalá ... :-/ Budu to muset vyřešit asi nějak jinak... Doufal jsem že se dá použít nějaká jednoduchá funkce v excelu kterou neznám ... :-/
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek

