Avatar billede dargny Nybegynder
12. november 2003 - 11:06 Der er 13 kommentarer og
2 løsninger

EAN13 check i EXCEL

Jeg har en lang liste af EAN13 tal i min regneark (ca. 10.000), og vil gerne sætte en formel ind som checker om der er korrekt.

Kan i hjælpe?
Avatar billede janvogt Praktikant
12. november 2003 - 11:49 #1
Ja, jeg har tidligere lavet en Excel-model, som tester/beregner kontrolciffer i EAN13.

Har du en mail-adresse - alternativt send en mail til janvogt@esenet.dk
Avatar billede janvogt Praktikant
12. november 2003 - 12:33 #2
Indeholder din liste 12 eller 13 karakterer?
Avatar billede bak Forsker
12. november 2003 - 13:04 #3
Avatar billede janvogt Praktikant
12. november 2003 - 13:31 #4
Hvis din liste står i kolonne A kan du indsætte denne formel i B1 og kopiere den ned:

=IF(10-MOD(((MID(A1;2;1)+MID(A1;4;1)+MID(A1;6;1)+MID(A1;8;1)+MID(A1;10;1)+MID(A1;12;1))*3)+(MID(A1;1;1)+MID(A1;3;1)+MID(A1;5;1)+MID(A1;7;1)+MID(A1;9;1)+MID(A1;11;1));10)=10;0;10-MOD(((MID(A1;2;1)+MID(A1;4;1)+MID(A1;6;1)+MID(A1;8;1)+MID(A1;10;1)+MID(A1;12;1))*3)+(MID(A1;1;1)+MID(A1;3;1)+MID(A1;5;1)+MID(A1;7;1)+MID(A1;9;1)+MID(A1;11;1));10))

I en dansk Excel version skal følgende oversættes:
IF = HVIS
MID = MIDT
MOD = HELTAL

I kolonne C1 kan du derefter skrive følgende formel:

=IF(RIGHT(A1;1)=B1;"OK";"Ikke korrekt")

Ovenstående forudsætter at der er 13 karakterer i samtlige dine EAN13-tekststrenge.
Avatar billede janvogt Praktikant
12. november 2003 - 13:34 #5
Hej Bak
Jeg ledte lige selv efter det spørgsmål du henviser til - uden held :-)
Jeg fik dog aldrig VBA-koden til at fungere i min Excel 97.
Avatar billede dargny Nybegynder
12. november 2003 - 15:53 #6
Jeg får en fejl i din formel

HVIS(10-HELTAL(((MIDT(A1;2;1)+MIDT(A1;4;1)+MIDT(A1;6;1)+MIDT(A1;8;1)+MIDT(A1;10;1)+MIDT(A1;12;1))*3)+(MIDT(A1;1;1)+MIDT(A1;3;1)+MIDT(A1;5;1)+MIDT(A1;7;1)+MIDT(A1;9;1)+MIDT(A1;11;1));10)

Det sidste ;10) vil den ikke godkende.
Avatar billede bak Forsker
12. november 2003 - 16:33 #7
Jan's formel oversat til dansk (Her chekkes A3):
=HVIS(10-REST(((MIDT(A3;2;1)+MIDT(A3;4;1)+MIDT(A3;6;1)+MIDT(A3;8;1)+MIDT(A3;10;1)+MIDT(A3;12;1))*3)+(MIDT(A3;1;1)+MIDT(A3;3;1)+MIDT(A3;5;1)+MIDT(A3;7;1)+MIDT(A3;9;1)+MIDT(A3;11;1));10)=10;0;10-REST(((MIDT(A3;2;1)+MIDT(A3;4;1)+MIDT(A3;6;1)+MIDT(A3;8;1)+MIDT(A3;10;1)+MIDT(A3;12;1))*3)+(MIDT(A3;1;1)+MIDT(A3;3;1)+MIDT(A3;5;1)+MIDT(A3;7;1)+MIDT(A3;9;1)+MIDT(A3;11;1));10))
Avatar billede dargny Nybegynder
12. november 2003 - 16:44 #8
a1 = 8888888888888 (13 ciffer)
b1 = formlen
c1 = kontrol formel.

Giver stadig fejl.
Avatar billede bak Forsker
12. november 2003 - 16:52 #9
Så må du have tastet noget forkert. Formlen virker fint.
http://tommy.bak.homepage.dk/ean13.xls
Avatar billede janvogt Praktikant
12. november 2003 - 20:20 #10
Som Bak viser, var der en fejl i min oversættelse.
MOD = REST og ikke HELTAL, som jeg fik nævnt tidligere.

Prøv at kopiere formlen ind herfra. Får du så ikke et ciffer beregnet i celle B1 (kontrolcifferet)?
Avatar billede janvogt Praktikant
12. november 2003 - 20:21 #11
Kontrolformlen hedder på dansk:
=HVIS(HØJRE(A1;1)=B1;"OK";"Ikke korrekt")
Avatar billede dargny Nybegynder
13. november 2003 - 08:18 #12
Tak venner :O)
Avatar billede dargny Nybegynder
13. november 2003 - 08:19 #13
Kan i ikke begge komme med et svar, så i kan dele scoren.
Avatar billede janvogt Praktikant
13. november 2003 - 08:36 #14
Jo da :-)
Avatar billede bak Forsker
13. november 2003 - 09:32 #15
Jo da.:-)
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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