2012-03-06 17 views
5

Mam tabeli, który wygląda takMATCH lub WYSZUKAJ.PIONOWO począwszy od końca zakresu

A  B  
ID1 data 123 
ID2 data 234 
ID1 data 456 
ID2 data 567 

Próbuję znaleźć najlepszy sposób, aby pobrać data 567 dla ID2. Użycie MATCH (z opcją 0) lub VLOOKUP (z opcją FALSE) w ID2 daje mi dostęp do pierwszego rekordu, ale chcę odzyskać ostatni rekord.

używam programu Excel 2010.

PS: Wolałbym nie używać VBA lub manipulowania danymi (segregacja ...).

Odpowiedz

15

Z danych w A1: B4 i D1 = „ID2”, spróbuj wpisać w E1:

=LOOKUP(2,1/(A1:A4=D1),B1:B4) 

Uwaga: WYSZUKAJ zwraca ostatnią wartość, jeżeli wartość odnośnika jest większy niż którykolwiek z wartościami w wyszukiwarkę zasięg. Wszelkie błędy są ignorowane.

+0

To jest bardzo fajne :-) Chociaż nie jestem pewien, rozumiem sztuczkę 1/(A1: A4 = D1) ... – assylias

+5

@assylias, która tworzy tablicę, która ma 1 (PRAWDA) dla tych wierszy które pasują do ID i błędu (# DIV/0!) dla tych, które nie pasują. 'Lookup' ignoruje błędy. Tablica wygląda następująco: {# DIV/0!; 1; # DIV/0!; 1}, a ponieważ wartość wyszukiwania 2 jest większa niż 1 (która jest największą wartością, jaką ta tablica może mieć), zwraca ostatnią wartość pozycja. –

+0

@TimMayes dzięki za jasne wyjaśnienie – assylias

0

Wiem, że na to pytanie już udzielono odpowiedzi, ale jeśli ktoś jest zainteresowany, oto formuła dla wielu kryteriów do tyłu. =LOOKUP(2,1/(--(A1:A4=D1)*--(C1:C4=D2)),B1:B4)

Powiązane problemy