Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: NVE Prüfnummer errechnen

NVE Prüfnummer errechnen
07.11.2017 17:39:59
Dirk
Hallo zusammen,
bei der 12 Stelligen Nummer kann man per Excel wie folgt die Prüfziffer errechnen:
Für eine 12-stellige EAN (Europäische Artikel Nummer) ist als 13. Stelle eine Prüfziffer zu berechnen.
Die einzelnen Ziffern der EAN werden von rechts nach links - also von hinten nach vorne - abwechselnd mit den Faktoren 3 und 1 multipliziert, wobei stets mit Faktor 3 begonnen wird. Die Summe dieser einzelnen Produkte (Produktsumme) ist zu ermitteln. Die Differenz zwischen der Produktsumme und dem nächsten vollen "Zehner" (Aufrundung) ergibt die Prüfziffer. Ergibt sich eine durch 10 teilbare Produktsumme, so ist die Prüfziffer gleich Null.
In A1 steht die 12-stellige Zahl. Die Prüfziffer ergibt:
=RECHTS(10-REST(SUMMENPRODUKT(TEIL(A1;ZEILE(1:12);1)*(1+2*REST(ZEILE(2:13);2)));10))
Wie sieht es bei einer 17 stelligen aus (18. Stelle die Prüfziffer) ?
Vielen Dank
Dirk
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 17 Stellen = Text
07.11.2017 17:50:55
Fennek
Hallo,
xl stellt keine 17-stelligen Zahlen dar, also müssen sie als Text eingegeben werden.
Die Formel könnte durch eine UDF ersetzt werden, die jeden Buchstaben einzeln ausliest und in eine Zahl wandelt.
Zum Testen eineer Funktion sollten 3-4 Beispiele einer korrekten Prüfsumme gezeigt werden.
mfg
Anzeige
AW: VBA
07.11.2017 18:06:10
Fennek
Hallo,
teste mal, ob dieer Code passt, sowohl für 12 als auch für 17 stellige Werte.

Sub iFen()
Dim Bo As Boolean
Tx = Cells(1, 1)
For i = Len(Tx) To 1 Step -1
F = IIf(Bo, 1, 3)
NVE = NVE + Mid(Tx, i, 1) * F
Bo = Not Bo
Next i
up = WorksheetFunction.RoundUp(NVE, -1)
Debug.Print NVE, up, up - NVE
End Sub
Falls ja, kann das in eine UDF umgeschrieben werden.
mfg
Anzeige
AW: NVE Prüfnummer errechnen
07.11.2017 19:22:33
onur
Teste mal:
Public Function PrüfZ(x As String)
Dim le, n, p, su
le = Len(x)
If le  17 And le  12 Then
PrüfZ = "Falsche Länge"
Exit Function
End If
For n = le To 1 Step -1
p = Val(Mid(x, n, 1))
If (n Mod 2) = 1 Then p = p * 3
su = su + p
Next n
PrüfZ = (10 - (su Mod 10)) Mod 10
End Function

Für 17 Stellen muss die EAN als Text formattiert sein.
Anzeige
AW: NVE Prüfnummer errechnen
07.11.2017 19:53:23
Dirk
Hallo Vielen Dank zusammen,
irgendwie klappt das nicht....irgendwie schmeißt Excel Ergebnis aus !
Hier einige Zahlen
34037497026835101 Prüfziffer 7
34037497026835201 4
34037497026835401 8
splitte Deine funktionierende Formel
07.11.2017 21:12:04
WF
Hi,
ohne groß nachzudenken;
=10-REST(SUMMENPRODUKT(TEIL(RECHTS(A1;12);ZEILE(1:12);1)*(1+2*REST(ZEILE(2:13);2))) +SUMMENPRODUKT(TEIL(0&LINKS(A1;5);ZEILE(1:5);1)*(1+2*REST(ZEILE(2:6);2)));10) -1
Für die 3 Beispiele stimmt's.
WF
Anzeige
AW: ohne groß nachzudenken
08.11.2017 21:47:50
Josef
Hallo WF
wenigstens bist du ehrlich.
Deine Splittung bringt so nicht immer das richtige Ergebnis.
Wenn man die 17 Zahlen richtig mit 1 oder 3 multipliziert und anschliessend summiert, muss man niemals minus 1 rechnen.
Gruss Sepp
Kundenwunsch
09.11.2017 08:03:28
wf
Hi,
-1 ist natürlich Blödsinn, da unlogisch.
Ohne käme man aber nicht auf die 3 vorgegebenen Beispielergebnisse.
WF
Anzeige
AW: NVE - function
07.11.2017 21:28:06
Fennek
Hallo,
bei diesen Beispielen scheint es zu klappen.

function NVE_r(rng as range) as integer
Tx = rng.value
dim Bo as boolean
For i = Len(Tx) To 1 Step -1
F = IIf(bo, 1, 3)
NVE = NVE + Mid(Tx, i, 1) * F
Bo = Not Bo
Next i
up = WorksheetFunction.RoundUp(NVE, -1)
NVE_r = up - NVE
End function
mfg
Anzeige
AW: NVE - function - FUNKTIONIERT
08.11.2017 07:25:14
Dirk
Hallo Fennek,
super hat funktioniert....Vielen lieben Dank
Dirk
;
Anzeige
Anzeige

Infobox / Tutorial

NVE Prüfnummer Berechnung in Excel


Schritt-für-Schritt-Anleitung

Um die NVE Prüfnummer zu berechnen, kannst du die folgenden Schritte in Excel ausführen:

  1. Zelle vorbereiten: Gib die 17-stellige Zahl in Zelle A1 ein. Stelle sicher, dass die Zelle als Text formatiert ist, um Probleme mit der Darstellung zu vermeiden.

  2. Formel zur Berechnung der Prüfnummer: Verwende die folgende Formel in Zelle B1, um die Prüfziffer zu berechnen:

    =10 - REST(SUMMENPRODUKT(TEIL(A1;ZEILE(1:17);1)*(1+2*REST(ZEILE(2:18);2)));10)

    Diese Formel multipliziert die Ziffern der 17-stelligen Zahl abwechselnd mit 1 und 3, summiert die Ergebnisse und berechnet die Prüfziffer.

  3. Prüfziffer anzeigen: Das Ergebnis in Zelle B1 zeigt nun die berechnete Prüfziffer für den NVE-Code an.


Häufige Fehler und Lösungen

  • Problem: "Falsche Länge" wird angezeigt.

    • Lösung: Stelle sicher, dass die Eingabe in Zelle A1 genau 17 Ziffern enthält und als Text formatiert ist.
  • Problem: Excel liefert unerwartete Ergebnisse.

    • Lösung: Überprüfe die Formel auf Tippfehler und stelle sicher, dass die richtige Zelle referenziert wird.
  • Problem: Negative Ergebnisse oder Fehler bei der Berechnung.

    • Lösung: Vergewissere dich, dass du die Formel korrekt eingegeben hast und alle Klammern stimmen.

Alternative Methoden

Eine alternative Methode zur Berechnung der NVE-Prüfziffer ist die Verwendung von VBA. Hier ist ein Beispiel für eine benutzerdefinierte Funktion (UDF):

Public Function NVE_r(rng As Range) As Integer
    Dim Tx As String
    Dim Bo As Boolean
    Dim NVE As Integer
    Tx = rng.Value
    For i = Len(Tx) To 1 Step -1
        F = IIf(Bo, 1, 3)
        NVE = NVE + Mid(Tx, i, 1) * F
        Bo = Not Bo
    Next i
    NVE_r = (10 - (NVE Mod 10)) Mod 10
End Function

Füge diesen Code in ein Modul ein und rufe die Funktion in Excel auf, um die NVE-Prüfziffer zu berechnen.


Praktische Beispiele

Hier sind einige Beispiele zur Veranschaulichung:

  • Beispiel 1: Für die 17-stellige Zahl 34037497026835101 sollte die Prüfziffer 7 sein.
  • Beispiel 2: Bei der Zahl 34037497026835201 ergibt sich die Prüfziffer 4.
  • Beispiel 3: Die Zahl 34037497026835401 ergibt die Prüfziffer 8.

Verwende diese Beispiele, um die Funktionalität deiner Formeln oder VBA-Funktionen zu testen.


Tipps für Profis

  • Verwende Named Ranges: Um deine Formeln übersichtlicher zu gestalten, kannst du benannte Bereiche für die Eingabewerte verwenden.
  • Fehlerüberprüfung: Implementiere Fehlerüberprüfungen in deinen VBA-Funktionen, um sicherzustellen, dass nur gültige NVE-Nummern verarbeitet werden.
  • Formatierung: Achte darauf, dass die Zelle, in der die NVE-Nummer eingegeben wird, als Text formatiert ist, um Probleme mit führenden Nullen zu vermeiden.

FAQ: Häufige Fragen

1. Wie berechnet man die Prüfziffer für EAN-13? Die EAN-13 Prüfnummer wird ähnlich wie die NVE-Prüfziffer berechnet, indem man die Ziffern von rechts nach links abwechselnd mit 1 und 3 multipliziert und die Produktsumme verwendet.

2. Kann ich die Prüfnummer auch für SSCC-Nummern verwenden? Ja, die Methoden zur Berechnung der NVE-Prüfziffer sind ähnlich und können auch für die SSCC-Nummer verwendet werden.

3. Welche Excel-Version benötige ich für die VBA-Funktion? Die VBA-Funktion sollte in den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2010 und höher.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige