Hallo,
Arbeitsblatt mit dem Namen 'Tabelle1' |
| E | F |
14 | 44780651751725 | 7 |
Zelle | Formel |
F14 | =10-REST(SUMMENPRODUKT(KÜRZEN(TEIL(E14;SPALTE(A1:N1);1)*(2-REST(SPALTE(A1:N1);2))/10;)+REST(TEIL(E14;SPALTE(A1:N1);1)*(2-REST(SPALTE(A1:N1);2))/10;1)*10);10) |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
@Josef B
Ich möchte die Prüfziffer einer IMEI Nummer berechnen.
Als Vorlage dazu diente mir genau die Angabe aus dem Link, den auch WilliWissen hier im 4. Post genannt hatte.
Das hab ich versucht in einer Formel nachzustellen.
Meiner Formel aus Post 5 fehlt mindestens die korrekte Rechnung der Quersumme (Das Problem dazu steht detailliert in Post 1)
Da es fürs Verständnis dieses Problems ausgereicht hat, die Werte zu vereinfachen hatte ich eigene Werte (mit denen ich mich in Excel an die Lösung herangetastet hatte) hier verwendet.
Im Link von RPP63 bin ich fündig geworden, was das letztendliche Ergebnis angeht - also grundsätzlich fertig sozusagen :)
(Ist eine ähnliche Lösung wie BoskoBiati eben genannt hat)
Aber es ist ein komplett anderer Ansatz an die Prüfziffer zu kommen, als den, den ich zuerst verfolgt hatte. Und wenn ich mal die Gewichtung (siehe dazu WilliWissens Link!) anders haben will funktioniert dieser Ansatz nicht mehr. Dafür fällt mir zwar momentan kein konkretes Beispiel ein, aber wenn ich schon mal drann bin mich damit auseinanderzusetzen...
Außerdem würde ich das ursprünglich benannte Problem gerne lösen können; Einfach weil ich da nun mal drauf gestoßen bin und mich eine Lösung dazu interessiert.
Wenn ich die hätte, könnte ich auch wieder "meine" Lösung implementieren :)
Hallo
Eine Lösung für deine Frage aus Post 1 könnte etwa so aussehen.
=SUMMENPRODUKT(--(TEIL((TEIL(A1;ZEILE(INDIREKT("1:"&LÄNGE(B1)));1)*TEIL(B1;ZEILE(INDIREKT("1:"&LÄNGE(A1)));1))&0;{1.2};1)))
Hier werden die zweistelligen Ergebnisse des Produktes einfach nochmals aufgeteilt, und erst nachher die Summe gebildet.
Gruss Sepp
Hi,
hier mal ein paar Berechnungen von Prüfziffern:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E | F | G | H |
1 | Name | Muster | Prüfziffern | | | | | |
2 | IMEI | 44780651751725 | 8 | | | | | |
3 | EAN | 762220000460 | 7 | | | | | |
4 | ISBN | 3-88229-192-3 | 7 | | | | | |
5 | VISA | 4509 4721 4054 9006 | 6 | | | | | |
6 | Bahncard | wie VISA | | | | | Summe | Einzeln |
7 | Perso alt | 2406055684 6810203 0705109 6 | 4 | 3 | 9 | 6 | 4 | 1111 |
8 | Perso neu | T406055683681020307051090 | 3 | 3 | 9 | 0 | 4 | 1111 |
Zelle | Formel |
C2 | =10-REST(SUMMENPRODUKT(KÜRZEN(TEIL(B2;SPALTE($A$2:$M$2);1)*(2-REST(SPALTE($A$2:$M$2);2))/10;)+REST(TEIL(B2;SPALTE($A$2:$M$2);1)*(2-REST(SPALTE($A$2:$M$2);2))/10;1)*10);10) |
C3 | =10-REST(SUMMENPRODUKT(TEIL(B3;SPALTE($A$2:$K$2);1)*(3-REST(SPALTE($A$2:$K$2);2)*2));10) |
C4 | =WECHSELN(WECHSELN(11-REST(SUMMENPRODUKT(TEIL(WECHSELN(B4;"-";"");SPALTE(A2:H2);1)*(11-SPALTE(A2:H2)));11);10;"X");11;0) |
C5 | =10-REST(SUMMENPRODUKT(KÜRZEN(TEIL(WECHSELN(B5;" ";"");SPALTE($A$2:$N$2);1)*(2-(REST(SPALTE($A$2:$N$2);2)=0))/10;)+REST(TEIL(WECHSELN(B5;" ";"");SPALTE($A$2:$N$2);1)*(2-(REST(SPALTE($A$2:$N$2);2)=0))/10;1)*10);10) |
C7 | =REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10) |
D7 | =REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L2:Q2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10) |
E7 | =REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T2:Y2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10) |
F7 | =REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L:R);1)*(8/2^REST(SPALTE(A:G);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T:Z);1)*(8/2^REST(SPALTE(B:H);3)-1);10));10) |
G7 | =(TEIL(B7;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))+(TEIL(B7;18;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L2:Q2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(TEIL(B7;26;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T2:Y2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(RECHTS(B7;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L:R);1)*(8/2^REST(SPALTE(A:G);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T:Z);1)*(8/2^REST(SPALTE(B:H);3)-1);10));10))*1 |
H7 | =(TEIL(B7;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))*1&(TEIL(B7;18;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L2:Q2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(TEIL(B7;26;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T2:Y2);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(RECHTS(B7;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B7;SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(L:R);1)*(8/2^REST(SPALTE(A:G);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B7;SPALTE(T:Z);1)*(8/2^REST(SPALTE(B:H);3)-1);10));10))*1 |
C8 | =REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10) |
D8 | =REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10) |
E8 | =REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10) |
F8 | =REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(A:F);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(B:G);3)-1);10));10) |
G8 | =(TEIL(B8;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))+(TEIL(B8;17;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(TEIL(B8;24;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(RECHTS(B8;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(A:F);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(B:G);3)-1);10));10))*1 |
H8 | =(TEIL(B8;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))*1&(TEIL(B8;17;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(TEIL(B8;24;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(RECHTS(B8;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(A:F);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(B:G);3)-1);10));10))*1 |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
Die Systematik kann man nachlesen. Beim Perso, dessen Nummer in der alten Version mit den Leerzeichen einzugeben ist, sind die vier Prüfziffern in C bis F, in G eine Kontrolle, ob alle 4 Prüfziffern stimmen und in in H eine Kontrolle mit Auflistung der vier Prüfziffern der Reihe nach. Bei Fehlern würde das z.B. so aussehen:
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C | D | E | F | G | H |
8 | Perso neu | T406055683681020207051091 | 3 | 3 | 9 | 0 | 2 | 1010 |
Zelle | Formel |
G8 | =(TEIL(B8;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))+(TEIL(B8;17;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(TEIL(B8;24;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))+(RECHTS(B8;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(A:F);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(B:G);3)-1);10));10))*1 |
H8 | =(TEIL(B8;10;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:I);1)*(8/2^REST(SPALTE(C:K);3)-1);10)*1);10))*1&(TEIL(B8;17;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(TEIL(B8;24;1)*1=REST(SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(C:H);3)-1);10)*1);10))*1&(RECHTS(B8;1)*1=REST(SUMMENPRODUKT(REST(TEIL(WECHSELN(B8;LINKS(B8;1);REST(CODE(B8)-55;10));SPALTE(A:J);1)*(8/2^REST(SPALTE(C:L);3)-1);10)*1)+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(K:P);1)*(8/2^REST(SPALTE(A:F);3)-1);10))+SUMMENPRODUKT(REST(TEIL(B8;SPALTE(R:W);1)*(8/2^REST(SPALTE(B:G);3)-1);10));10))*1 |
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg |
die 2.Prüfziffer ist falsch.
Hallo
Zur Formel: =10-REST(SUMMENPRODUKT(xy);10)
gibt es folgendes zu bedenken. Was ist, wenn der Rest 0 ergibt?
Ich weiss, das kann man leicht abfangen, aber warum macht das niemand?
Gruss Sepp
Hi Josef,
guter Einwand. In einem Fall ist das klar vorgegeben, ansonsten müsste man wirklich noch um die entsprechenden Formeln noch mal einen Rest drum bauen.
Hallo Edgar
Zitat:ansonsten müsste man wirklich noch um die entsprechenden Formeln noch mal einen Rest drum bauen
Oder einfach =
REST(-SUMMENPRODUKT(xy);10)
Gruss Sepp