Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

EAN 13 Prüfzifferberechnung

Forumthread: EAN 13 Prüfzifferberechnung

EAN 13 Prüfzifferberechnung
28.03.2024 18:31:49
Jo65
Hallo,
ich habe folgenden Code im Internet gefunden, um die Prüfziffer
in Access zu berechnen.
Gibt es eine möglichkeit, den Code umzuschreiben das der für Excel funktioniert?
Also wenn ich z.B. in A1 12 Zahlen eingebe das dann die 13. Stelle in A2 erscheint.
Hier der Access Code:
Public Function ean13pruefziffer(ean)
'
' EAN-13 Prüfziffer errechnen
'
Dim I As Long, Sum As Long, Fak As Long
ean13pruefziffer = Null
If IsNull(ean) Then Exit Function
If Len(ean) > 12 Then Exit Function
Sum = 0: Fak = 3
For I = Len(ean) To 1 Step -1
Sum = Sum + (Asc(Mid(ean, I, 1)) - Asc("0")) * Fak
If Fak = 3 Then
Fak = 1
Else
Fak = 3
End If
Next I
ean13pruefziffer = (10 - Sum Mod 10) Mod 10
End Function

Danke
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: EAN 13 Prüfzifferberechnung
28.03.2024 19:24:23
Oppawinni
Naja,
In A1 die ean rein schreiben
In A2 = ean13pruefziffer(A1)
Die Funktion musst du natürlich vorher in ein Code Modul setzen
AW: die Formel kann man noch etwas kürzen ..
30.03.2024 09:05:42
neopa C
Hallo Jo 65,

... folgende wäre auch ausreichend: =REST(10-REST(SUMME(TEIL(B2;{1.3.5.7.9.11};1)+3*(TEIL(B2;{2.4.6.8.10.12};1)));10);10)

Gruß Werner
.. , - ...
Anzeige
AW: die Formel kann man noch etwas kürzen ..
30.03.2024 12:39:15
Oppawinni
Dazu kann man allerhand finden. Ich fand da z.B.
=REST(-SUMME(TEIL(TEXT(C3;"00000000000\0");{1.3.5.7.9.11;2.4.6.8.10.12};1)*{3;1});10)
was das taugt, k.A. sieht aber übersichtlich aus.
AW: Deine Frml ermittelt andere (falsche?) Ergebniswerte ...
30.03.2024 13:23:05
neopa C
Hallo,

... als die anderen. Welche Ergebniswerte korrekt sind, will und werde ich nicht beurteilen, weil ich lediglich die zuvor vorhandenen (außer der XL365er) ausgewertet hatte.
Mit meiner Formel ermittelte ich gleiche Ergebnis wie diese. Insofern betrachtet ich erst einmal meine als nicht unstimmig. In der von Dir aufgezeigten Formel müßte nur {3;1} in {1;3} getauscht werden, um auf die gleichen Ergebnisse wie mit meiner zu kommen.

So gesehen kann ich meine Formel nochmal etwas kürzen zu: =REST(10-REST(SUMME(TEIL(B2;{1.3.5.7.9.11;2.4.6.8.10.12};1)*{1;3});10);10)
wobei darin {1;3} in {3;1} getauscht, das gleiche Ergebnis wie mit der von Dir aufgezeigten Formel ergibt.

Gruß Werner
.. , - ...
Anzeige
AW: Deine Frml ermittelt andere (falsche?) Ergebniswerte ...
30.03.2024 19:08:54
Oppawinni
so gesehen könnte man dann auch noch verkürzen auf:
{=REST(-SUMME(TEIL(C3;{1.3.5.7.9.11;2.4.6.8.10.12};1)*{1;3});10)}
AW: ja, auch das ist so noch möglich owT
30.03.2024 20:54:47
neopa C
Gruß Werner
.. , - ...
AW: Danke an alle für die super Hilfe
30.03.2024 21:47:19
Jo65
Vielen Dank
Anzeige
wieso weiter offen, wenn erledigt? owt
31.03.2024 05:38:14
Oberschlumpf
AW: EAN 13 Prüfzifferberechnung
28.03.2024 19:33:34
Jo65
Danke,
wusste nicht, dass ich den Code aus Access in Excel benutzen kann.
Vielen Dank funktioniert super.
Lg
AW: EAN 13 Prüfzifferberechnung
29.03.2024 02:26:58
Onur
Hab´s doch noch hingekriegt. Sollte auf 2019 laufen - ggf Formeln als Matrixformel abschliessen (STRG-SHIFT-ENTER).
https://www.herber.de/bbs/user/168396.xlsx
Anzeige
AW: EAN 13 Prüfzifferberechnung
29.03.2024 02:39:47
Onur
Etwas kürzer (EAN in B2) - ggf als Matrixfunktion abschliessen:
=REST(10-REST(SUMME(1*(TEIL(B2;{1.3.5.7.9.11};1)))+3*SUMME(1*(TEIL(B2;{2.4.6.8.10.12};1)));10);10)
AW: EAN 13 Prüfzifferberechnung
29.03.2024 02:59:09
Onur
Noch eine Version:
=REST(10-REST(SUMME(WENN(REST(ZEILE($A$1:$A$12);2)=0;3;1)*(TEIL(B2;ZEILE($A$1:$A$12);1)));10);10)
Anzeige
AW: EAN 13 Prüfzifferberechnung
29.03.2024 20:02:03
Jo65
Hallo Onur,
in deiner Beispieltabelle funktioniert das wunderbar,
wenn ich die Formel aber in meiner Tabelle benutze geht das nicht.
Was mache ich falsch?
Lg
Danke für die Hilfe
AW: EAN 13 Prüfzifferberechnung
29.03.2024 20:18:52
Onur
Keine Ahnung. Poste sie mal.
AW: Danke es funktioniert
29.03.2024 20:19:09
Jo65
Danke es funktioniert,
manchmal steht man echt auf dem Schlauch.
Lg
Anzeige
Gerne !
29.03.2024 20:20:06
Onur
AW: EAN 13 Prüfzifferberechnung
28.03.2024 19:55:33
Onur
Public Function eanpz(ByVal ean)

Dim i, x
ean = CStr(ean)
If Len(ean) > 12 Then eanpz = "Ungültig": Exit Function
For i = 1 To 12
x = CInt(Mid(ean, i, 1))
eanpz = eanpz + x * (1 + ((i + 1) Mod 2) * 2)
Next i
eanpz = 10 - eanpz Mod 10: If eanpz = 10 Then eanpz = 0
End Function
Anzeige
AW: EAN 13 Prüfzifferberechnung
28.03.2024 21:38:02
Onur
Hier eine Formelversion, aber leider nur für 365:
=REST(10-REST(SUMME(ZAHLENWERT(TEIL($B4;SEQUENZ(6;1;1;2);1)))+3*SUMME(ZAHLENWERT(TEIL($B4;SEQUENZ(6;1;2;2);1)));10);10)
AW: EAN 13 Prüfzifferberechnung
28.03.2024 21:47:59
Jo65
Vielen Dank für die Hilfe
Warum funktioniert das nur in 365?
Und nicht in der 2019 Version
Lg
Anzeige
AW: EAN 13 Prüfzifferberechnung
28.03.2024 21:49:35
Onur
Weil 2019 einige Funktionen weniger hat, z.B. "SEQUENZ".
;

Forumthreads zu verwandten Themen

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige