Seite 1 von 1

EAN 13 Prüfziffernrechner

Verfasst: Di, 20.03.2007 00:42
von FoD-Freeman
Hi,

ich hab folgendes Problem. Ich muss bei uns in der Firma über 5000 Artikeln eine EAN verpassen. Soweit so gut. Ich benötige für die Prüfziffer jedoch eine funktionierende Formel. Hab eine gefunden die geht jedoch nur im Excel und bringt dort die richtigen Ergebnisse. Im Calc jedoch nur die 0

Beispiel EAN 404850611111 -> Prüfziffer müsste 6 sein
Beispiel EAN 404850611113 -> Prüfziffer müsste 0 sein

Im Calc kommt immer nur 0 raus. Folgendes habe ich probiert.

im Feld A1 steht die Hauptkennung 4048506 im Feld B1 steht die Artikelnr 11111. habe beide im Feld D1 mit =(A1&B1)*1 zusammengefügt. Im Feld E1 habe ich nun folgende Formel ausgeführt.

=WENN(REST(SUMMENPRODUKT((TEIL($D1;SPALTE(A1:L1);1))*(REST(SPALTE(A1:L1);2)=0))*3+SUMMENPRODUKT((TEIL($D1;SPALTE(A1:L1);1))*(REST(SPALTE(A1:L1);2)=1));10)=0;0;10-REST(SUMMENPRODUKT((TEIL($D1;SPALTE(A1:L1);1))*(REST(SPALTE(A1:L1);2)=0))*3+SUMMENPRODUKT((TEIL($D1;SPALTE(A1:L1);1))*(REST(SPALTE(A1:L1);2)=1));10))

Wie gesagt im Excel funktionierts jedoch nicht im CALC hoffe mir kann jemand helfen da ich sonst jede Nr von Hand Rechnen muss. Formel sollte kopierbar sein.

Gruss Timo

Verfasst: Di, 20.03.2007 12:12
von Karolus
Hallo Timo

Folgende Formel tuts in Calc:

=WENN(D1<>"";REST(10-REST(WERT(TEIL(D1;12;1)*3)+WERT(TEIL(D1;11;1))+WERT(TEIL(D1;10;1)*3)+WERT(TEIL(D1;9;1))+WERT(TEIL(D1;8;1)*3)+WERT(TEIL(D1;7;1))+WERT(TEIL(D1;6;1)*3)+WERT(TEIL(D1;5;1))+WERT(TEIL(D1;4;1)*3)+WERT(TEIL(D1;3;1))+WERT(TEIL(D1;2;1)*3)+WERT(TEIL(D1;1;1));10);10);"")

Gruß Karo

Ps. Als Basic-function:

Code: Alles auswählen

function eanpruefsumme(n)
for s = 1 to len(n)  'Schleife über alle Stellen von n
	if s mod 2 = 1 then
		f = 1
	else
		f = 3
	end if
qs = qs + val(mid(n,s,1))*f
next
eanpruefsumme = (10 - (qs mod 10)) mod 10

End function

Verfasst: Di, 20.03.2007 13:38
von FoD-Freeman
:shock:

vielen Dank richtig gut. funzt und ich hab soeben viel Arbeit gespart.