Formel EAN13 Prüfziffer berechnen ?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Formel EAN13 Prüfziffer berechnen ?

Beitrag von Gert Seler »

Hallo Zusammen,
lange Formeln von "MS_Excel" in "OOo_Calc" importieren. Die o.g. Formel funzt dort super, aber
sobald die xls_Tabelle in "Calc" importiert wird, ändern sich die Zelladressen :
=10-REST(SUMMENPRODUKT((0&TEIL($A1;SPALTE($A1:$IV1);1))*(REST(SPALTE($A1:$IV1);2)=0))*3+SUMMENPRODUKT((0&TEIL($A1;SPALTE($A1:$IV1);1))*REST(SPALTE($A1:$IV1);2));10)
Die Funktion "SPALTE($A1;1:1)" wird wie oben ersichtlich beim Import geändert.
Die xls_Formel korrekt

Code: Alles auswählen

=10-REST(SUMMENPRODUKT((0&TEIL($A1;SPALTE(1:1);1))*(REST(SPALTE(1:1);2)=0))*3+SUMMENPRODUKT((0&TEIL($A1;SPALTE(1:1);1))*REST(SPALTE(1:1);2));10) 
Diese Formel erzeugt in der Fußzeile (OOo_Cal) eine Fehlermeldung "502" "Ungültiges Argument".
Ändere ich die Funktion SPALTE($A1;A1:A1) so ab, wird die Prüfziffer 6 ausgewiesen (Korrekt= 7 ).
Wo liegt das Hindernis für "OOo_Calc" ?
Für Euere Bemühungen besten Dank im voraus.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Benutzeravatar
lorbass
********
Beiträge: 4116
Registriert: Mo, 01.05.2006 21:29
Wohnort: Bonn

Re: Formel EAN13 Prüfziffer berechnen ?

Beitrag von lorbass »

SPALTE($A1;A1:A1) funktioniert nicht, ist wohl auch nur ein Tippfehler?!

Der Zellbereich 1:1 adressiert in Excel die ganze Zeile 1, besteht also aus 1024** Zellen. Dieses Konstrukt gibt es in Calc nicht. Um hier die ganze Zeile auszuwählen, musst du den Zellbereich namentlich mit A1:AMJ1** angeben. Im Allgemeinen dürfte es aber reichen den Adressbereich auf die letzte tatsächlich genutzte Spalte zu begrenzen, also z.B. A1:IV1, wenn IV die letzte benutzte Spalte ist.

Wenn du nun 1:1 durch A1:A1 ersetzt, wird offensichtlich nur eine einzige Zelle – die A1 – in die Kalkulation einbezogen, was die Abweichung vom erwarteten Ergebnis erklären dürfte.

** Die letzte Spalte AMJ (1024) gilt für LibreOffice 3.5.4.2; in früheren Versionen von OOo /AOO / LO waren weniger als 1024 Spalten verfügbar, der Adressbereich entsprechend kleiner. Ob in neueren Versionen der verfügbare Adressbereich noch gewachsen ist, weiß ich nicht.

Gruß
lorbass
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Formel EAN13 Prüfziffer berechnen ?

Beitrag von balu »

Hallo,

ich wollt nur ein paar Infos weiter geben.

Seit OOo 3.0.0 gibt es in Calc 1024 Spalten. Und daran wird sich wohl höchstwahrscheinlich auch nicht viel ändern. Zumindest so lange nicht wie Excel da nicht vorprescht.
Was sich aber von OOo 3.2.1 zu 3.3.0 geändert hat, ist die Zeilenanzahl. Und zwar von 65.536 auf 1.048.576 Zeilen.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: Formel EAN13 Prüfziffer berechnen ?

Beitrag von Karolus »

Hallo

Code: Alles auswählen

=REST(10-REST(SUMME(WERT(TEIL(A1;{2;4;6;8;10;12};1))*3)+SUMME(WERT(TEIL(A1;{1;3;5;7;9;11};1)));10);10)
oder besser:

Code: Alles auswählen

=REST(10-REST(SUMME(WERT(TEIL(A1;{2;4;6;8;10;12};1))*3;WERT(TEIL(A1;{1;3;5;7;9;11};1)));10);10)
als Matrix !
Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Gert Seler
*******
Beiträge: 1763
Registriert: Di, 03.10.2006 18:05

Re: Formel EAN13 Prüfziffer berechnen ?

Beitrag von Gert Seler »

Hallo Zusammen,
bin gerade umgezogen in "Sommerresidenz", Mittelhessen, vom Sommer noch eine Spur.
nur Regen. Deshalb die späte Antwort.
Die 2te Formel von "Karolus" deckt "Excel" & "OOo_Calc" als "Matrixformel" mit Strg-Umschalt-Eingabeab-
schließen ab.

Code: Alles auswählen

=REST(10-REST(SUMME(WERT(TEIL(A2;{2;4;6;8;10;12};1))*3;WERT(TEIL(A2;{1;3;5;7;9;11};1)));10);10)
Vielen Dank für die "Hilfestellungen". Excel scheint bei den Funktionen Spalte & Zeile abweichende
Argumente zu akzeptieren.

mfg
Gert
Es gibt nichts gutes, außer man tut es.
Win7_64 / LO_4.4.5.2
Antworten