Stránka 1 z 1

Excel - Vyhledávací funkce

Napsal: 26 lis 2010 09:34
od Branscombe
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é ??

Re: Excel - Vyhledávací funkce

Napsal: 26 lis 2010 10:25
od navstevnik
Pouzij vlastni funkci (UDF), ekvivalentni PozVyhledat - vraci relativni polohu posledni polozvy v matici, vzdy shoda :
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 Function

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)

Re: Excel - Vyhledávací funkce

Napsal: 26 lis 2010 10:40
od atari
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í.

Re: Excel - Vyhledávací funkce

Napsal: 26 lis 2010 20:54
od Branscombe
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 ... :-/