Registriert seit: 13.04.2014
Version(en): 365
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 |
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 13.03.2017
Version(en): 2010
13.03.2017, 13:08
(Dieser Beitrag wurde zuletzt bearbeitet: 13.03.2017, 13:13 von wiseguy.
Bearbeitungsgrund: Bezug und Ergänzung auf zwischenzeitlich hinzugekommen Post von BoskoBiati hinzugefügt
)
@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 :)
Registriert seit: 15.04.2014
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
Registriert seit: 13.04.2014
Version(en): 365
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.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 15.04.2014
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
Registriert seit: 13.04.2014
Version(en): 365
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.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 15.04.2014
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