Odwrotne spojrzenie

0

Mam listę opisów i chcę dodać kolumnę kodu, jak pokazano poniżej. Opisy na liście nie są unikalne ani posortowane.

Mam tabelę indeksu z podciągami i kodami w osobnych kolumnach. vlookup nie działa.

Lista:

Description     Code
=============== =====
Horse shoes     Horse
Saddle cloth    Horse
Saddlery grease Horse
Shearing board  Wool
Shearer         Wool
Saddle cloth    Horse
Shearer         Wool

Indeks:

Substring Code
========= ====
Horse     Horse
Saddle    Horse
Shear     Wool
Flywire
źródło
1
Cześć witam. Z twojego pytania nie wynika jasno, czego szukasz. Czy możesz edytować i sprawdzić, czy możesz to uczynić jaśniejszym?
Paul
1
vlookup działa tylko wtedy, gdy sprawdzany element znajduje się w kolumnie po lewej stronie tabeli danych. Proponuję przesunąć kolor „Kod” na lewo od kolorów „Podłańcuch” i „Opis”.
Kevin Anthony Oppegaard Rose

Odpowiedzi:

2

Potrzebna formuła:

=INDEX($E$1:$E$4,MAX(IFERROR(SEARCH($D$2:$D$4,A2)*ROW($D$2:$D$4),"")))

To jest formuła tablicowa, musisz ją wprowadzić za pomocą CTRL+ SHIFT+ENTER

wprowadź opis zdjęcia tutaj

Máté Juhász
źródło
OK, rozumiem - DOSKONAŁE !!! Wyszukaj „excel CSE”. Trochę trudne do wejścia i edycji.
flywire
Istnieje kilka wad korzystania z formuł tablicowych , zwłaszcza że muszę ciągle zmieniać tablicę Opisów. Czy można to umieścić w makrze?
flywire
Możesz przekonwertować zakres opisu na tabelę (wstaw - tabela) i używać odwołań do tabel w formułach (np. Table1.substring; nawet automatycznie użyje tego typu podczas kierowania częścią tabeli). W ten sposób twoja formuła zostanie zaktualizowana, gdy będziesz jak nowe wiersze opisu.
Máté Juhász
Skomplikowany. Pozwól mi wyjaśnić tę formułę: Indeks wyszukuje maksymalną wartość z wyszukiwania tablicy; wyszukiwanie tekstu w wyszukiwanym tekście zwraca 1, jeśli znaleziono inaczej 0, które jest mnożone przez ostatni szukany wiersz, a następnie zastępowane przez null, jeśli wystąpi błąd; wynik wyszukiwania jest mnożony przez ostatni szukany wiersz, ale jest wygaszany, jeśli jest to błąd. Jak napisana jest formuła, jeśli zakres indeksu nosi nazwę „table1.substring”, a podłańcuch zmienia się z „Saddle” na „addle”?
flywire
Zauważ, że funkcja wyszukiwania powinna szukać jakiegokolwiek wystąpienia podłańcucha w łańcuchu, ale w tym przykładzie musi znaleźć podłańcuch na początku łańcucha. Nie wiem dlaczego.
flywire