PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelLETARAD som ska returnera del av värdeLETARAD som ska returnera del av värde
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-09-26 17:43
 

Hej

Jag klistrar in värden i kolumn A till E från min bank, namn på var jag handlat och likaså var jag får pengar in på mitt konto och summorna  Jag har sen en formel (LETARAD) som jag översätter till vad jag tycker det ska vara. Ex. om det står OKQ8 i kolumn A från min bank så översätter jag det till "Bil (bensin)"

Vad jag vill få hjälp med är exempelvis om det kommer värden från min bank som alltid börjar med ex "HTD" och sen olika siffror varje gång (ex HTD123456) och nästa gång får jag från min bank t.ex "HTD0987654". Dessa värden som börjar med "HTD" vill jag översätta till ex "Mina besparingar"

Går det på något sätt att i LETARAD-formeln lägga till med ett wildcard att allt som börjar med "HTD" skall översättas med "Mina besparingar"? Mina andra översättningar ska givetvis fungera som tidigare

Nytt inlägg
 2023-09-27 04:55
 

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.
 
Nytt inlägg
 2023-09-28 12:29
 

Hej Gondi och tack för snabbt svar.

 

Jag ändrade i min formelcell till nedan, och som du ser så har jag min översättningsflik som heter "Förklaring" :-)

Som du också ser så är jag på rad 5319 så av förklariga skäl så ville jag bara ändra i koden LETARAD så det skulle bli enkelt. Filen som jag har är min personliga budget med inkomster och utgifter :-) 

Mvh Bigfoot

 

=LETARAD(VÄNSTER(A5319;3)&"*";Förklaring!A:B;2;FALSKT)

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelLETARAD som ska returnera del av värdeLETARAD som ska returnera del av värde

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter