Office: (Office 2007) Modulo 10

Helfe beim Thema Modulo 10 in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, ich brauche Eure Hilfe: ich muss die Prüfziffer für einen EAN-Code errechnen: 12 Ziffern stehen fest, die Prüfziffer muss nach Modulo... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von TomSharpe75, 24. November 2007.

  1. Modulo 10


    Hallo Zusammen,

    ich brauche Eure Hilfe:

    ich muss die Prüfziffer für einen EAN-Code errechnen:
    12 Ziffern stehen fest, die Prüfziffer muss nach Modulo 10 Gewichtung 3 errechnet werden. Hier ein Auszug:

    Die einzelnen Ziffern der EAN-Nummer werden von rechts nach links abwechselnd mit den Faktoren 3 und 1 multipliziert, wobei stets mit Faktor 3 begonnen wird.
    Die Summe dieser einzelnen Produkte ist zu ermitteln. Die Differenz zwischen dem Produkt und dem nächsten vollen "Zehner" (Aufrundung) ergibt die Prüfziffer.
    Ergibt sich eine durch 10 teilbare Produktsumme, so ist die Prüfziffer 0!

    Wie kann ich eine Excel-Formel daraus bauen (kein VBA)?

    Schon einmal vielen Dank im voraus!
    Tom

    :)
     
    TomSharpe75, 24. November 2007
    #1
  2. OfficeUser Neuer User
    Hallo Tom,

    hier ein Vorschlag

    Tabelle1

     AB
    12071739896484
    2EANCode
    12-stellig
    Prüfziffer
    ZelleFormel
    B1=REST(10-REST(SUMMENPRODUKT((TEIL($A1;ZEILE(1:12);1))*{1;3;1;3;1;3;1;3;1;3;1;3});10);10)
    Excel Tabellen im Web darstellen >>
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 26. November 2007
    #2
  3. Hallo rainberg,

    meist versucht man zu helfen, aber ein kleines Danke ist dann meist zu viel. Daher auf diesem Weg (auch wenn das Posting schon von 2007 ist) vielen Dank für die Formel, ist wirklich gut geworden. Konnte ich gut gebrauchen.

    Gruß
    Eisbaer
     
  4. Modulo 10

    Hallo Eisbaer,

    freut mich, dass es Dir geholfen hat.

    Du siehst, auch eine Forensuche kann nützlich sein.
     
  5. Hallo Rainberg,

    Gratulieren für deine eindrücklichen Excel Formula !

    Deine Erfahrung nach, gibt es auch eine solche sauber Formula für die "Prüfzifferberechnung Modulo 10, rekursiv" die auf den Punkt 1.2 von folgende PDF Dokument erklärt ist ?

    http://www.postfinance.ch/medialib/p....0001.File.pdf

    Es scheint dass diese "Prüfzifferberechnung Modulo 10, rekursiv" an folgende Home page berechnet ist : http://www.kalix.ch/bvr/

    Mit freundlichen Grüssen
    Agappy
     
    Agappy, 20. Juli 2009
    #5
  6. Hallo Agappy,

    da kann ich Dir nicht helfen.

    Mir fehlt dazu der mathematische Hintergrund, den ich leider aus dem pdf-Dokument nicht ableiten kann.
     
  7. Danke für die Formel-

    wenn man sie nach unten weitervervielfältigen will, dann ist sie mit einer kleinen Änderung besser:

    =REST(10-REST(SUMMENPRODUKT((TEIL($A1;ZEILE($1:$12);1))*{1;3;1;3;1;3;1;3;1;3;1;3});10);10 )

    sonst entwickelt Excel zu viel Eigendynamik.

    Grüße,

    Christian

    PS: das Forum erschwert spontane Antworten
     
  8. Modulo 10

    Gutenabend Rainberg,

    Ich danke dir sehr für deine Antwort. Enschuldigen mich dass ich dir so spät antworte. Wenn ich etwas über dieses Thema (XLS Formel ohne VBA) finde, dann werde ich dir bestimmt informieren.

    Mit freundlichen Grüssen
    Agappy
     
  9. OfficeUser Neuer User
    Hallo,

    vielleicht hilft das weiter:

    Tabelle1

     ABCDEFGHIJKL
    1Kontonummer:70-4152          
    2            
    3 0123456789 
    4009468271350
    5194682713509
    6246827135098
    7368271350947
    8482713509466
    9527135094685
    10671350946824
    11713509468273
    12835094682712
    13950946827131
    14            
    15            
    16 70-00415271        
    17  09        
    18  05        
    19  02        
    20  47        
    21  13        
    22  53        
    23  22        
    24  PZ8        
    ZelleFormel
    B16=WENN(LÄNGE(B1)<9;LINKS(B1;3)&WIEDERHOLEN("0";9-LÄNGE(B1))&TEIL(B1;4;99);B1)
    C16=LINKS(B16;1)*1
    D16=INDEX($B:$K;1;VERGLEICH(C16;$B:$K;0))
    C17=TEIL(B16;2;1)*1
    D17=INDIREKT(ADRESSE(VERGLEICH($D16;A:A;0)+3;VERGLEICH($C17;B:K;0)+1))
    C18=TEIL($B;ZEILE()-14;1)*1
    D18=INDIREKT(ADRESSE(VERGLEICH($D17;A:A;0)+3;VERGLEICH($C18;B:K;0)+1))
    C19=TEIL($B;ZEILE()-14;1)*1
    D19=INDIREKT(ADRESSE(VERGLEICH($D18;A:A;0)+3;VERGLEICH($C19;B:K;0)+1))
    C20=TEIL($B;ZEILE()-14;1)*1
    D20=INDIREKT(ADRESSE(VERGLEICH($D19;A:A;0)+3;VERGLEICH($C20;B:K;0)+1))
    C21=TEIL($B;ZEILE()-14;1)*1
    D21=INDIREKT(ADRESSE(VERGLEICH($D20;A:A;0)+3;VERGLEICH($C21;B:K;0)+1))
    C22=TEIL($B;ZEILE()-14;1)*1
    D22=INDIREKT(ADRESSE(VERGLEICH($D21;A:A;0)+3;VERGLEICH($C22;B:K;0)+1))
    C23=TEIL($B;ZEILE()-14;1)*1
    D23=INDIREKT(ADRESSE(VERGLEICH($D22;A:A;0)+3;VERGLEICH($C23;B:K;0)+1))
    D24=SVERWEIS(D23;A4:L13;12;0)
    Excel Tabellen im Web darstellen >>
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 26. November 2009
    #9
  10. Hallo,

    ichweiß nicht, wievile Verschachtelungen Excel 2007 zuläßt, aber so sähe die Formel aus, wenn man alle Einzelschritte zusammenziehen würde. Da ich kein Excel 2007 habe, kann ich nicht prüfen, ob es funktioniert. Vielleicht kann jemand mir sagen, ob 20 offene Klammern in 2007 machbar sind, und ob die Formel dann funktioniert.


    =sverweis(indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (indirekt(adresse(vergleich
    (index($b$4:$k$4;1;vergleich
    (index($b$4:$k$4;1;vergleich
    (links(b16;1)*1;$b$3:$k$3;0));$b$3:$k$3;0);
    a$4:a$13;0)+3;vergleich(teil(b16;2;1)*1;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich($c18;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich(teil($b$16;zeile()-14;1)*1;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich(teil($b$16;zeile()-14;1)*1;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich(teil($b$16;zeile()-14;1)*1;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich(teil($b$16;zeile()-14;1)*1;b$3:k$3;0)+1));
    a$4:a$13;0)+3;vergleich(teil($b$16;zeile()-14;1)*1;b$3:k$3;0)+1));
    a4:l13;12;0)
     
    BoskoBiati, 26. November 2009
    #10
  11. OfficeUser Neuer User
    Hallo,

    Hier noch eine Vereinfachung, die unter Excel 2003 läuft:

    Tabelle2

     BC
    1Kontonummer:70-4152
    2Kto.Nr. korr.:Rekursion:
    3700041520946827135
    4Startziffer:1
    5Prüfziffer:8
    ZelleFormel
    C4=TEIL(C3;LINKS(B3;1)+1;1)
    C5=10-TEIL($C;(TEIL($B;8;1)+1+TEIL($C;(TEIL($B;7;1)+1+TEIL($C;(TEIL($B;6;1)+1+TEIL($C;(TEIL($B;5;1)+1+TEIL($C;(TEIL($B;4;1)+1+TEIL($C;(TEIL($B;3;1)+1+TEIL($C;(TEIL($B;2;1)+1+C4);1));1));1));1));1));1));1)
    Tabelle2

     B
    370004152
    ZelleFormel
    B3=WECHSELN(C1;"-";"00")
    Excel Tabellen im Web darstellen >>
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    OfficeUser, 27. November 2009
    #11
  12. Modulo 10

    Hallo WF,

    naja, hättest vielleicht mal ein bißchen gelesen. Die Formel scheint wohl nicht das zu sein, was in diesem Fall angesagt ist, da das Thema mittlerweile nicht mehr die Prüfzifferberechnung nach der genannten Formel ist, zumindest zeigt der Link in eine völlig andere Richtung. (Post Agappy v. 21.07.09)
     
    BoskoBiati, 27. November 2009
    #13
  13. Guten Abend BoskoBiati,

    Ich bin entzückt zu sehen dass du nicht nur eine gute Lösung gefunden hast aber auch dass du sogar drei Vorschlagen gemacht hast.

    Deine Lösung von 27.11.09 00:48 funktioniert Einwandfrei für alle drei Nummern dass ich probiere habe (70-004152-8, 30-603597-3 und 18-1685-4).

    Deine von 06:12 (wann schlaffst du ?) funktionieren perfekt für 70-004152-8 aber scheinbar nicht für die Zwei andere Nummern.

    Ich habe in Excel 2007, deine Vorschlag von 06:12 probiert. Leider scheint diese Verschalterfunktion nicht zu funktionieren. Die Fehlermeldung lautet : "Sie haben zu vielen Argument für diese Funtion eingegeben". Zur Information, in Hilfe zur Funktion WENN in Excel 2007 können wir das folgende lesen : "Damit es möglich ist, kompliziertere Bedingungen zu formulieren, können bis zu 64 WENN-Funktionen als Argument Dann_Wert und Argument Sonst_Wert verschachtelt werden.".

    Ich bin sehr zufrieden. Für mich ist deine Antwort befriedigen und jetzt mein Problem gelöst.

    Noch vielen Dank (und vergisst nicht zu schlaffen!).

    Mit freundlichen Grüssen
    Agappy
     
Thema:

Modulo 10

Die Seite wird geladen...
  1. Modulo 10 - Similar Threads - Modulo

  2. Modulo-Division in Abfrage???

    in Microsoft Access Hilfe
    Modulo-Division in Abfrage???: Moin Leute, ich habe eine Tabelle, in der Fehlzeiten in Minuten erfasst werden (Felddatentyp Integer); in einer Abfrage will ich wissen, wie viele Unterrichtseinheiten ( a 45 Minuten) das sind...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden