Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Suche Lösung für Formel zur Quersumme
#11
Hallo,

Arbeitsblatt mit dem Namen 'Tabelle1'
 EF
14447806517517257

ZelleFormel
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.
Antworten Top
#12
@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 :)
Antworten Top
#13
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
Antworten Top
#14
Hi,

hier mal ein paar Berechnungen von Prüfziffern:

Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGH
1NameMusterPrüfziffern     
2IMEI447806517517258     
3EAN7622200004607     
4ISBN3-88229-192-37     
5VISA4509 4721 4054 90066     
6Bahncardwie VISA    SummeEinzeln
7Perso alt2406055684 6810203 0705109 6439641111
8Perso neuT406055683681020307051090339041111

ZelleFormel
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'
 ABCDEFGH
8Perso neuT406055683681020207051091339021010

ZelleFormel
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.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • wiseguy
Antworten Top
#15
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
Antworten Top
#16
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.
Antworten Top
#17
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste