Hej Bigfoot,
Det finns ett antal sätt att lösa detta på i Excel beroende på vilken version du använder. Men om vi fokuserar på din fråga att lösa detta med funktionen LETARAD() - som finns i alla versioner av Excel - så ser utmaningarna ut enligt följande.
Jag förutsätter att du har en tabell någonstans där du hämtar dina översättningar. Jag har därför gjort en exempeltabell för att åskådliggöra vilka utmaninga (och lösningar) som finns.
Så här ser mina osorterade respektive sorterade Lookup-tabeller ut.
Alternativ 1a samt 1b - Användande av LETARAD() med exakt matchning på inledande tre tecken och sedan wildcard
Alternativ 1a
Formel i cell E3
=LETARAD(VÄNSTER($A3;3)&"*";$H$3:$I$8;2;FALSKT)
Alternativ 1b
Formel i cell F3
=LETARAD(VÄNSTER($A3;3)&"*";$K$3:$L$8;2;FALSKT)
Funktionen LETARAD() stödjer användande av wildcard i fältet "letauppvärde" som visas ovan. Problemet man stöter på är om man har exempelvis två olika transaktionstyper som börjar med samma tecken. Som du ser i exemplet ovan kan formeln jag skrivit inte "se skillnad" på prefixen HTDATA och HTDxxxxxxxx för båda inleds med samma första tre tecken (HTD).
Om man vill ändra antalet unika tecken man vill söka på går det bra att justera detta i formeln VÄNSTER() i exemplet ovan, men eftersom vissa kategorier (ex. LÖN) enbart innehåller tre unika tecken kan man inte utöka det till mer än tre tecken utan att få ett felmeddelande.
Alternativ 2a samt 2b - Användande av LETARAD() med ungefärlig matchning utan wildcard
Om man istället för en exakt matchning med wildcard låter funktionen LETARAD() använda sin inbyggda funktion för att göra en ungefärlig matchning kommer vi mycket närmare det önskade resultatet. Notera i exemplet nedan att Lookup-tabellen vi söker igenom efter en ungefärlig matchning måste vara sorterad i stigande ordning (Alt. 2b) annars blir resultatet helt fel (Alt 2a).
Alternativ 2a
Formel i cell E16
=LETARAD($A16;$H$3:$I$8;2;SANT)
Alternativ 2b
Formel i cell F16
=LETARAD($A16;$K$3:$L$8;2;SANT)
Slutsats
Användande av Excels inbyggda funktion ungefärlig matchning som i exempel 2b ovan ger det bästa resultatet med den bästa träffsäkerheten om man vill göra matchning på enbart en del av ett värde eller en textsträng. Funktionen kräver dock att Lookup-tabellen man söker igenom är sorterad i stigande ordning.
Hoppas ovan exempel åskådliggör möjligheterna du har med funktionen LETARAD() samt hjälper dig på traven.