Avatar billede rsorgenfri Novice
20. november 2014 - 14:11 Der er 6 kommentarer og
1 løsning

Fejl i Lookup funktion

Jeg har en formel der laver en landekode om til en anden. Den virker næsten, men på nogle af dem kommer der en forkert værdi frem:

=LOOKUP(Y16;{"FO";"CZ";"MAL";"BG";"D";"DK";"EE";"GB";"IRL";"IS";"LT";"LV";"N";"NL";"PL";"S";"SF";"SGP";"SK"};{"FO";"CZ";"MY";"BG";"DE";"DK";"EE";"EN";"IE";"IS";"LT";"LV";"NO";"NL";"PL";"SE";"FI";"SG";"SK"})

(Y16) er kommmet frem via et Vlookup til et ark med 47000 kunder, men som har en forkert landekode i forhold til det jeg skal bruge.

Problemerne opstår på:

"BG" bliver til "N/A"
"FO" bliver til "EE"
"MAL" bliver til "LV"

En anden ting der undrer mig er at hvis jeg ændre "FO" til 1 og ændre værdien "FO" i Y16 returnerer den fint "FO", så umiddelbart virker formlen som den skal.

Jeg håber en af jer har en løsning på mit problem.
Avatar billede rsorgenfri Novice
20. november 2014 - 14:50 #1
Jeg har lige prøvet at indsætte det i et nyt regneark, med samme resultat. Hvis jeg laver om så opslagsværdien er et tal. Så kan den godt finde frem til den rigtige værdi.
=LOOKUP(A6;{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19};{"FO";"CZ";"MY";"BG";"DE";"DK";"EE";"EN";"IE";"IS";"LT";"LV";"NO";"NL";"PL";"SE";"FI";"SG";"SK"})

Så bliver 1 til FO osv.
Avatar billede xl-Enthusiast Ekspert
20. november 2014 - 15:39 #2
Jeg har ikke nærlæst din formel, men lavet en ny og den virker fint:

=LOOKUP(Y16;{"FO";"CZ";"MAL";"BG";"D";"DK";"EE";"GB";"IRL";"IS";"LT";"LV";"NL";"PL";"S";"SF";"SGP";"SK"};{"FO";"CZ";"MY";"BG";"DE";"DK";"EE";"EN";"IE";"IS";"LT";"LV";"NO";"PL";"SE";"FI";"SG";"SK"})
Avatar billede rsorgenfri Novice
20. november 2014 - 15:48 #3
Hej xl

Jeg har prøvet at indsætte din formel og det er den samme (jeg tror måske du hjalp mig med at lave den i første omgang).

Den laver samme problemer.

Jeg bruger Microsoft Excel 2010 Engelsk. Hvilken version bruger du?

Jeg har prøvet at vende formlen om, så hvis jeg taster f.eks. "FO" så returnere den 7. Og det giver mig grå hår :-)

=LOOKUP(A10;{"FO";"CZ";"MAL";"BG";"D";"DK";"EE";"GB";"IRL";"IS";"LT";"LV";"N";"NL";"PL";"S";"SF";"SGP";"SK"};{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19})
Avatar billede xl-Enthusiast Ekspert
20. november 2014 - 16:14 #4
Jeg bruger også Excel 2010, engelsk.


http://gupl.dk/716528/
Avatar billede xl-Enthusiast Ekspert
20. november 2014 - 16:26 #5
Prøv at ændre formlen til:

=LOOKUP(Y16;{"BG"\"CZ"\"D"\"DK"\"EE"\"FO"\"GB"\"IRL"\"IS"\"LT"\"LV"\"MAL"\"NL"\"PL"\"S"\"SF"\"SGP"\"SK"};{"BG"\"CZ"\"DE"\"DK"\"EE"\"FO"\"EN"\"IE"\"IS"\"LT"\"LV"\"MY"\"NO"\"PL"\"SE"\"FI"\"SG"\"SK"})

Her er andet og tredje argument anført i stigende alfabetisk orden. Det er faktisk en forudsætning i forbindelse med LOOKUP-funktionen (se Excel hjælp)

Jeg kan ikke helt forklare hvorfor det tilsyneladende virkede i min første formel, men denne her skulle i hvert fald virke.

NB
Det er her ligegyldigt om man bruger semikolon eller backslash.
Avatar billede rsorgenfri Novice
21. november 2014 - 08:20 #6
Ohh. Mange tak igen.

Det virker, så du må gerne skrive det som løsning.
Avatar billede xl-Enthusiast Ekspert
21. november 2014 - 08:31 #7
Hvis du ikke ønsker at anføre koderne i sorteret orden kan du bruge VLOOKUP (med fjerde argument lig nul) i stedet for LOOKUP på følgende måde:

=VLOOKUP(A1;{"FO"\"FO";"CZ"\"CZ";"MAL"\"MY";"BG"\"BG";"D"\"DE";"DK"\"DK";
"EE"\"EE";"GB"\"EN";"IRL"\"IE";"IS"\"IS";"LT"\"LT";"LV"\"LV";
"N"\"NO";"NL"\"NL";"PL"\"PL";"S"\"SE";"SF"\"FI";
"SGP"\"SG";"SK"\"SK"};2;0)
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