Just nu i M3-nätverket
Gå till innehåll

ISBN till EAN


ralf_t

Rekommendera Poster

Förmodligen är det betydligt enklare att göra en "public function" i VBA, men det här borde fungera.

 

=978&VÄNSTER(A1;9)&(10*AVRUNDA.UPPÅT((3*(EXTEXT(A1;9;1)+EXTEXT(A1;7;1)+EXTEXT(A1;5;1)+EXTEXT(A1;3;1)+EXTEXT(A1;1;1))+EXTEXT(A1;8;1)+EXTEXT(A1;6;1)+EXTEXT(A1;4;1)+EXTEXT(A1;2;1)+38)/10;0)-(3*(EXTEXT(A1;9;1)+EXTEXT(A1;7;1)+EXTEXT(A1;5;1)+EXTEXT(A1;3;1)+EXTEXT(A1;1;1))+EXTEXT(A1;8;1)+EXTEXT(A1;6;1)+EXTEXT(A1;4;1)+EXTEXT(A1;2;1)+38))

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

 

Nu är inte jag värlsdbäst på excel och har en engelsk verion

men om jag har ISBN i B3 - B40 och vill ha EAN i C3 - C40, du har säkert skrivit svaret men som sagt jag är knappt ammatör på det här

 

/ralf

 

 

 

Länk till kommentar
Dela på andra webbplatser

Hej

Jag kan ingenting om EAN-ISBN.

Hittade bara den här beskrivningen och "översatte" den till excel

http://www.ean.se/swe/sys/ISBN.htm

Det är en omkodning av 9 siffrig ISBN+kontrollsifra till ean 12+1.

 

Jag antar att b3-b40 är 37 olika siffror?

 

Jag vet inte om det här fungerar. Jag har svensk Excel, så jag gissar hej vilt. Testa att kopiera in följande formel i cell c3:

=978&LEFT(B3,9)&(10*ROUNDUP((3*(MID(B3,9,1)+MID(B3,7,1)+MID(B3,5,1)+MID(B3,3,1)+MID(B3,1,1))+MID(B3,8,1)+MID(B3,6,1)+MID(B3,4,1)+MID(B3,2,1)+38)/10,0)-(3*MID(B3,9,1)+MID(B3,7,1)+MID(B3,5,1)+MID(B3,3,1)+MID(B3,1,1))+MID(B3,8,1)+MID(B3,6,1)+MID(B3,4,1)+MID(B3,2,1)+38))

 

Om siffran i C3 blir rätt så "släpar" du ner formeln till c40 (med det lilla "handtaget" i nedre högra hörnet av cellen). Sedan skall det vara klart.

 

Formeln lägger till prefixet 978 och räknar ut en ny kontrollsiffra i slutet av EAN-koden. Kontrollera att det blir rätt med någonting som redan har dubbla siffror.

/M

 

 

Länk till kommentar
Dela på andra webbplatser

Det blev fel. Jag glömde en parantes, resultatet blir helt fel.

(kontrollerade med XL-dennis,www.xldennis.com, excelenta lilla formelöversättare).

 

Det här är en något kortare variant. Fungerar likadant som förut:

 

=CONCATENATE(978,LEFT(B3,9),RIGHT(MOD(10-(3*(MID(B3,9,1)+MID(B3,7,1)+MID(B3,5,1)+MID(B3,3,1)+MID(B3,1,1))+MID(B3,8,1)+MID(B3,6,1)+MID(B3,4,1)+MID(B3,2,1)+38),10),1))

 

 

 

Länk till kommentar
Dela på andra webbplatser

Konstigt.

Testa

1. Ställ dig i slutet av formeln och tryck enter

2. Kolla att du har ställt in excel på att visa resultat, inte formel (verktyg-alternativ-visa i svensk excel).

3. Kolla att cellformatet inte är inställt på "text"(markera cellen och gå till "format-celler-tal"). Om det är inställt på text, ändra till något bättre och kör punkt 1.

4. Använder du Engelsk windows också? Vad har du för landsinställningar? Om du kör med svenska landsinställningar så skall "skiljetecknet" i formlerna vara ; inte ,

Formeln borde då bli någonting i stil med:

 

=CONCATENATE(978;LEFT(B3;9);RIGHT(MOD(10-(3*(MID(B3;9;1)+MID(B3;7;1)+MID(B3;5;1)+MID(B3;3;1)+MID(B3;1;1))+MID(B3;8;1)+MID(B3;6;1)+MID(B3;4;1)+MID(B3;2;1)+38);10);1))

 

Eftersom jag är lat så använder jag bara svensk excel i svensk miljö så jag är inte säker. Du får testa dig fram eller ställa en ny fråga. Jag vågar slå vad om att Dennis kan svaret...

 

/Magnus

 

Länk till kommentar
Dela på andra webbplatser

Tackar så hemskt mycket.

 

Det var , som skiljetecknet som var felet det skulle vara ;.

 

Nu fungerar det.

 

Ha det

/ralf

 

 

 

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...