Avatar billede Katharina Juniormester
29. september 2020 - 10:41 Der er 14 kommentarer og
1 løsning

Formel baseret på længde og første ciffer i celle

Hej :-)

Jeg forsøger, at lave en kolonne i Excel som udregner lokal valuta til DKK. Hvilken valuta, der omregnes fra, skal afhænge af ordrenummeret. Ordrenumrene ser ud som disse eksempler:

DE = starter altid med 2 og indeholder 7 cifre (fx 2002361)
FI = starter altid med 3 og indeholder 7 cifre (fx 3002361)
DK = starter altid med 4 og indeholder 6 cifre (fx 402361)
FR = starter altid med 4 og indeholder 7 cifre (fx 4002361)
SE = starter altid med 5 og indeholder 7 cifre (fx 5002361)
UK = starter altid med 6 og indeholder 7 cifre (fx 6002361)
NO = starter altid med 8 og indeholder 6 cifre (fx 802361)

Det der driller mig, er den franske (FR) og den danske (DK), som begge starter med samme tal.

Hvis ikke det var for de to, så var jeg kommer i mål med denne formel:
=HVISER(VENSTRE([@Kolonne1];1)="3";[@[Lokal valuta]]*Valuta!$B$5;VENSTRE([@Kolonne1];1)="4";[@[Lokal valuta]]*Valuta!$B$5;VENSTRE([@Kolonne1];1)="5";[@[Lokal valuta]]*Valuta!$B$3;VENSTRE([@Kolonne1];1)="2";[@[Lokal valuta]]*Valuta!$B$5;VENSTRE([@Kolonne1];1)="8";[@[Lokal valuta]]*Valuta!$B$4;VENSTRE([@Kolonne1];1)="6";[@[Lokal valuta]]*Valuta!$B$6)

Men denne formel resulterer selvfølgelig i, at alle danske ordrebeløb også bliver omregnet.
Jeg tænker, at jeg skal have indsat en hvis-formel af en art, som kan tage højde for, at hvis ordrenummeret starter med 4, så skal udregningen KUN foretages, hvis ordrenummeret samtidig indeholder 7 cifre. Men jeg kan simpelthen ikke komme i mål med det.

Håber I kan hjælpe mig i mål :-)

// Katharina
Avatar billede ebea Ekspert
29. september 2020 - 12:36 #1
Du kan jo sætte, som du skriver, en HVIS formel in foran din formel, kombineret med en tæl værdi af længden på fakturanummeret. Eks.:
=HVIS(LÆNGDE(A1)=7;din formel)

Hvor A1 er fakturanummer, og så der hvor der står "din formel" indsætter du din formel, i det ene tilfælde, og den kombination som dækker det andet kriterie (6 tal).
Avatar billede Katharina Juniormester
29. september 2020 - 12:42 #2
Men så omregner den ikke den norske, hvor ordrenummeret også kun indeholder 6 cifre. Med mindre jeg misforstår dig? :-)
Avatar billede ebea Ekspert
29. september 2020 - 13:03 #3
#2 - Jo, det gør den. HVIS + LÆNGDE formlen, er et tjek af, om nummeret er på 7 cifre. Er det 7, bruges den en kombination, og er det IKKE 7, bruges den anden kombination.
Din formel er jo desværre mega lang, så det er lidt besværligt at overskue den.

I formlen kan du skrive det som: =HVIS(LÆNGDE(A1)=7;en mulighed;anden mulighed).

Ellers prøv at uploade et eks. på din opstilling!
Avatar billede kim1a Ekspert
29. september 2020 - 13:13 #4
Du skal have den ind efter at den har kigget på første tal. Således at svaret af din if er = 4 så laver du den ekstra hvis løkke som ebea skriver.
Avatar billede Katharina Juniormester
29. september 2020 - 13:26 #5
Tak for jeres svar. Jeg kan ikke rigtig få til at fungere - jeg har uploadet filen her: https://drive.google.com/file/d/1rWXlsa5CoQKPupXbPSKqV6S16Ffj9A_R/view?usp=sharing

Håber I kan hitte ud af det :-)
Avatar billede xl-Enthusiast Ekspert
29. september 2020 - 14:40 #6
Måske:

=IF((--(LEFT(A2;1))=4)*(LEN(A2)=6);"DK";IF((--(LEFT(A2;1))=4)*(LEN(A2)=7);"FR";INDEX({"DE";"FI";"SE";"UK";"NO"};MATCH(--(LEFT(A2;1));{2;3;5;6;8};0))))

dansk

=HVIS((--(VENSTRE(A2;1))=4)*(LÆNGDE(A2)=6);"DK";HVIS((--(VENSTRE(A2;1))=4)*(LÆNGDE(A2)=7);"FR";INDEKS({"DE";"FI";"SE";"UK";"NO"};SAMMENLIGN(--(VENSTRE(A2;1));{2;3;5;6;8};0))))
Avatar billede xl-Enthusiast Ekspert
29. september 2020 - 14:46 #7
Du skal selvfølgelig i formlen erstatte DE, FI, SE, UK og NO med de relevante kurser.
Avatar billede Katharina Juniormester
29. september 2020 - 16:52 #8
Hmm, så returnerer den Valuta!$B$5 og ikke omregnet beløb :-S

Jeg misforstår sikkert, hvordan den skal se ud. Jeg har opdateret filen på linket med en ny fil, som indeholder formlen du har givet. Kan du se, hvad jeg gør galt?

https://drive.google.com/file/d/1rWXlsa5CoQKPupXbPSKqV6S16Ffj9A_R/view?usp=sharing
Avatar billede ebea Ekspert
29. september 2020 - 16:55 #9
Avatar billede ebea Ekspert
29. september 2020 - 16:57 #10
#8 - I mit uploadede eks. kan du se helt nederst i kolonne B, at jeg har lavet 2 fiktive eks. på 6 cifre, og 7 cifre, som starter med 4, og som beregnes forskelligt
Avatar billede xl-Enthusiast Ekspert
29. september 2020 - 17:22 #11
Avatar billede xl-Enthusiast Ekspert
30. september 2020 - 01:47 #12
Avatar billede Katharina Juniormester
30. september 2020 - 07:43 #13
@ebea: Det går desværre ikke, at den nøjes med at tælle de første 3 cifre i ordrenummeret, og lader det være afgørende for om det er den ene eller anden valuta.
Ordrenumrenes første 3 cifre vil kunne overlappe hinanden på DK + FR, og samtidig vil det kræve for jævnlige rettelser i formlen.
Men tak for forslaget, og fordi du ville bruge tiden på det!

@xl-Enthusiast: Dit forslag giver mig rette resultat - tak! Jeg skal bare lige høre vedr. formlen - jeg kan se, at formlen indeholde kurserne, hvor de er tastet ind i formlen. Når kurserne ændrer sig, vil jeg så være nødt til både at rette det i formellinjen OG i fanen jeg har kaldt 'Valuta'?
Avatar billede xl-Enthusiast Ekspert
30. september 2020 - 08:34 #14
Du har ret. Det er ikke hensigtsmæssig. Jeg har rettet det nu.
Bemærk at jeg har ændret lidt i ark Valuta. EUR går igen to gange, den i B3 dog via formel, så den retter sig selv, hvis du retter B2.

Håber det virker nu.

https://www.dropbox.com/scl/fi/cbcgr4dlr8zcs1uae66px/Upload-til-eksperten_4.xlsx?dl=0&rlkey=gs8tgvio0cfxh7bq3n7yoy0mw
Avatar billede Katharina Juniormester
30. september 2020 - 09:02 #15
Det er perfekt! Tusind tak for din hjælp! :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester