Calc: Unterdrückung von ### in einer Ergebnisspalte bei fehlender Datenbasis

Hallo,

das Kultusministerium bei uns in BW ist voll in der Hand von Microsoft. Entsprechend sind auch alle Abitur-Korrekturfomulare auf Excel aufgebaut. Deren Bearbeitung unter LO (OOo, AOO) ist leider suboptimal. Meine Absicht ist daher, eine ODF-Version als Alternative anzubieten.

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe, die für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit folgendem Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel
=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")
für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten Lattenkreuze (###) an. Unter OOo 3.21 erscheinen statt der Lattenkreuze überall Nullen, was genauso stört.

Ich möchte ein Verhalten erreichen wie in Excel auch:
Ergebnisspalten ohne Datenbasis sollten einfach leer erscheinen - egal ob jemand mit einem älteren OOo oder AOO oder LO arbeitet.

Ich bin kein Calc-Spezialist. Hat jemand einen Tipp?

Viele Grüße
Karl

Hallo, Karl!

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe,
die für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit
folgendem Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel

=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten
Lattenkreuze (###) an. Unter OOo 3.21 erscheinen statt der
Lattenkreuze überall Nullen, was genauso stört.

Welchen Fehlertyp hat die Zelle denn genau (steht in der Statuszeile,
wenn du auf der Zelle bist)? ### steht generell drin, wenn eine Zelle zu
klein für die Darstellung ist.

Ich möchte ein Verhalten erreichen wie in Excel auch: Ergebnisspalten
ohne Datenbasis sollten einfach leer erscheinen - egal ob jemand mit
einem älteren OOo oder AOO oder LO arbeitet.

So kann ich nur vermuten, da ich die Tabelle nicht kenne. Aber wenn
auch in den Zellen X10 und W10 Formeln stehen, die einen Wert oder eine
leere Zeichenkette "" ausgeben, dann ist das Problem, dass Calc auch
eine Zelle mit leerer Zeichenkette als "nicht leer" erkennt und somit
mitzählt. In deren Folge kann die Formel W10-X10 nicht ausgeführt
werden, da man Text (eine leere Zeichenkette ist solcher) und Zahlen
nicht miteinander verrechnen kann. Als Abhilfe könntest du die Formel
ersetzen durch

=WENN(ZÄHLENWENN(W10:X10;">0")=2;W10-X10;"")

Gruß,
Christian.

Hallo Christian,

vielen Dank für Deine Antwort.

Hallo, Karl!

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe,
die für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit
folgendem Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel

=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten
Lattenkreuze (###) an. Unter OOo 3.21 erscheinen statt der
Lattenkreuze überall Nullen, was genauso stört.

Welchen Fehlertyp hat die Zelle denn genau (steht in der Statuszeile,
wenn du auf der Zelle bist)? ### steht generell drin, wenn eine Zelle zu
klein für die Darstellung ist.

In der Statuszeile steht: "Fehler: falscher Datentyp".

Ich möchte ein Verhalten erreichen wie in Excel auch: Ergebnisspalten
ohne Datenbasis sollten einfach leer erscheinen - egal ob jemand mit
einem älteren OOo oder AOO oder LO arbeitet.

Hintergrund: Die Formulardateien sollen auch ermöglichen, ein leeres Formular (ohne Daten) auszudrucken und dieses dann manuell auszufüllen.

So kann ich nur vermuten, da ich die Tabelle nicht kenne. Aber wenn
auch in den Zellen X10 und W10 Formeln stehen, die einen Wert oder eine
leere Zeichenkette "" ausgeben, dann ist das Problem, dass Calc auch
eine Zelle mit leerer Zeichenkette als "nicht leer" erkennt und somit
mitzählt. In deren Folge kann die Formel W10-X10 nicht ausgeführt
werden, da man Text (eine leere Zeichenkette ist solcher) und Zahlen
nicht miteinander verrechnen kann. Als Abhilfe könntest du die Formel
ersetzen durch

=WENN(ZÄHLENWENN(W10:X10;">0")=2;W10-X10;"")

Das ergibt "Err:501" und Fehlertyp: Ungültiges Zeichen.

Die offizielle Excel-Mappe findest Du hier:
http://www.rp.baden-wuerttemberg.de/servlet/PB/show/1196109/rpt-75-service-abi-abiturkorrekturformulare.xls

und meine Calc-Mappe hier:
https://dl.dropboxusercontent.com/u/31403815/Abitur-Korrekturformulare_ODF_leer_2014-04-04.ots

Es gibt hier viele Felder, die Berechnungen ausführen, und deren Felder einfach leer bleiben, wenn ihnen keine Daten zugrunde liegen.

Unter LO schau Dir folgende Tabellen besonders an:
VP FS 1 und VP FS 2 (letzte Ergebnisspalte: falscher Datentyp)
VP M 1 und VP M 2 (letzte Ergebnisspalte unter OOo 3.21: überall Null - LO 4.0.5: leeres Feld, wie gewünscht)
NP 1-3: Erg (Feld G41: "#DIV/0!") - logisch, aber sollte leer bleiben.

Viele Grüße
Karl

Hallo Karl,

Alle Felder einer Ergebnisspalte mit der Formel
=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

Mach einmal daraus:
=WENN(ISTZAHL(W10);W10-X10;"")
Schließlich ist W10 nicht leer, sondern mit einer Formel und einem
Zeichen für leeren Text versehen.

Gruß

Robert

[...]

Meine Absicht ist daher, eine ODF-Version als Alternative anzubieten.

Klasse!

(Muss auch mal gesagt werden)

Gruß Nino

Hallo Robert,

Hallo Karl,

Alle Felder einer Ergebnisspalte mit der Formel
=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

Mach einmal daraus:
=WENN(ISTZAHL(W10);W10-X10;"")
Schließlich ist W10 nicht leer, sondern mit einer Formel und einem
Zeichen für leeren Text versehen.

vielen Dank - ein Problem weniger! Sowohl OOo 3.2.1 als auch LO 4.0.6 (und 4.1.5) zeigen wie gewünscht nur ein leeres Feld an. Ich hoffe, dass sich auch AOO 4 und LO 4.2 so verhalten - da bei mir auf keinem Rechner installiert, konnte ich das noch nicht überprüfen.

Noch nicht in [2] gelöst:

VP M 1 und VP M 2 (letzte Ergebnisspalte unter OOo 3.21: überall Null - LO
4.0.6: leeres Feld, wie gewünscht)
NP 1-3: Erg (Feld G41: "#DIV/0!") - logisch, aber sollte leer bleiben.

[1] Offizielle Excel-Mappe:
http://www.rp.baden-wuerttemberg.de/servlet/PB/show/1196109/rpt-75-service-abi-abiturkorrekturformulare.xls

[2] Meine Calc-Mappe:
https://dl.dropboxusercontent.com/u/31403815/Abitur-Korrekturformulare_ODF_leer_2014-04-04.ots

Viele Grüße
Karl

Hallo Karl,

Noch nicht in [2] gelöst:

VP M 1 und VP M 2 (letzte Ergebnisspalte unter OOo 3.21: überall Null - LO
4.0.6: leeres Feld, wie gewünscht)

Na ja, OOo 3.2.1 - das ist ja vermutlich nur noch sehr selten zu finden,
oder?

NP 1-3: Erg (Feld G41: "#DIV/0!") - logisch, aber sollte leer bleiben.

setze dort:
=WENN(SUMME(G15:G40)>0;MITTELWERT(G15:G40)-0,05;"")

Gruß

Robert

Hallo Karl,

VP M 1 und VP M 2 (letzte Ergebnisspalte unter OOo 3.21: überall Null - LO
4.0.6: leeres Feld, wie gewünscht)

Da sehe ich übrigens auch bei AOO die Nullen nicht nur in der letzten
sondern auch der vorletzten Spalte. Das ist die Krux, dass AOO weiterhin
leere Textinhalte als 0 interpretiert.
=WENN(ISTFEHLER(M6+S6+Y6);"";WENN(M6+S6+Y6 > 0; M6+S6+Y6 ; ""))
hilft z.B. bei der Spalte AA und der Folgespalte in VP M 1.
Damit dürfte bei allen, die auf "Fehler" reagieren, das Feld auf ""
gesetzt werden und alle, die "" als 0 interpretieren, trotzdem
schließlich ein "" erscheinen.

Ich weiß nicht mehr, wann das korrigiert wurde. Aber ein leerer Text ist
nun einmal keine Zahl und AOO (zumindest in der Version 4.0.0, die ich
hier zu Testzwecken installiert habe) wertet das aber als Zahl.

Gruß

Robert

Hallo,

das Kultusministerium bei uns in BW ist voll in der Hand von Microsoft.
Entsprechend sind auch alle Abitur-Korrekturfomulare auf Excel aufgebaut.
Deren Bearbeitung unter LO (OOo, AOO) ist leider suboptimal. Meine Absicht
ist daher, eine ODF-Version als Alternative anzubieten.

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe, die
für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit folgendem
Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel
=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

Ich verstehe die Formel nicht ganz; Der Bereich W10:X10 umfasst eh genau
2 Zellen, das Ergebnis von ANZAHLLEEREZELLEN kann also sowieso nur 0, 1
oder 2 sein.

Meiner Meinung nach (wenn ich sie richtig verstanden habe) wäre sie
verständlicher so ausgedrückt:

=WENN(UND(W10<>"";X10<>"");W10-X10;"")

oder, wie ich vorziehen würde:

=WENN(ODER(W10="";X10="");"";W10-X10)

für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten
Lattenkreuze (###) an.

Die ### bedeuten erst mal nur, daß der Platz in der Zelle zu klein ist,
um das Ergebnis anzuzeigen. D. h. man müste erst mal wissen, was genau
(Fehlermeldung? Wert? ...) da angezeigt werden soll. Aus

Unter OOo 3.21 erscheinen statt der Lattenkreuze
überall Nullen, was genauso stört.

Schließe ich, daß da ein Fehler steht, vermutlich verursacht dadurch,
daß Calc seit einigen Versionen Leerzellen nicht mehr als Zahlwert Null
sondern als (Leer-)String interpretiert.

Ich möchte ein Verhalten erreichen wie in Excel auch:
Ergebnisspalten ohne Datenbasis sollten einfach leer erscheinen - egal ob
jemand mit einem älteren OOo oder AOO oder LO arbeitet.

O. g. Formeln sollten auf allen Plattformen korrekt funktionieren.

Wolfgang

Hallo Robert,

Hallo Karl,

VP M 1 und VP M 2 (letzte Ergebnisspalte unter OOo 3.21: überall Null
- LO
4.0.6: leeres Feld, wie gewünscht)

Da sehe ich übrigens auch bei AOO die Nullen nicht nur in der letzten
sondern auch der vorletzten Spalte. Das ist die Krux, dass AOO weiterhin
leere Textinhalte als 0 interpretiert.
=WENN(ISTFEHLER(M6+S6+Y6);"";WENN(M6+S6+Y6 > 0; M6+S6+Y6 ; ""))
hilft z.B. bei der Spalte AA und der Folgespalte in VP M 1.
Damit dürfte bei allen, die auf "Fehler" reagieren, das Feld auf ""
gesetzt werden und alle, die "" als 0 interpretieren, trotzdem
schließlich ein "" erscheinen.

Ich weiß nicht mehr, wann das korrigiert wurde. Aber ein leerer Text ist
nun einmal keine Zahl und AOO (zumindest in der Version 4.0.0, die ich
hier zu Testzwecken installiert habe) wertet das aber als Zahl.

Nach Deinen Hinweisen kann ich mich auch wieder daran erinnern, dass diese Änderungen in Calc auch schon auf der Liste diskutiert wurden.

Damit sind alle von mir bisher festgestellten Probleme gelöst. Sollten mir noch weitere auffallen, werde ich mich wieder melden. Vielen Dank für Deine Hilfe.

Viele Grüße
Karl

Hallo Wolfgang,

Hallo,

das Kultusministerium bei uns in BW ist voll in der Hand von Microsoft.
Entsprechend sind auch alle Abitur-Korrekturfomulare auf Excel
aufgebaut. Deren Bearbeitung unter LO (OOo, AOO) ist leider suboptimal.
Meine Absicht ist daher, eine ODF-Version als Alternative anzubieten.

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe,
die für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit
folgendem Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel
=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

Ich verstehe die Formel nicht ganz; Der Bereich W10:X10 umfasst eh genau
2 Zellen, das Ergebnis von ANZAHLLEEREZELLEN kann also sowieso nur 0, 1
oder 2 sein.

Meiner Meinung nach (wenn ich sie richtig verstanden habe) wäre sie
verständlicher so ausgedrückt:

=WENN(UND(W10<>"";X10<>"");W10-X10;"")

oder, wie ich vorziehen würde:

=WENN(ODER(W10="";X10="");"";W10-X10)

für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten
Lattenkreuze (###) an.

Die ### bedeuten erst mal nur, daß der Platz in der Zelle zu klein ist,
um das Ergebnis anzuzeigen. D. h. man müste erst mal wissen, was genau
(Fehlermeldung? Wert? ...) da angezeigt werden soll. Aus

Unter OOo 3.21 erscheinen statt der Lattenkreuze
überall Nullen, was genauso stört.

Schließe ich, daß da ein Fehler steht, vermutlich verursacht dadurch,
daß Calc seit einigen Versionen Leerzellen nicht mehr als Zahlwert Null
sondern als (Leer-)String interpretiert.

Ich möchte ein Verhalten erreichen wie in Excel auch:
Ergebnisspalten ohne Datenbasis sollten einfach leer erscheinen - egal
ob jemand mit einem älteren OOo oder AOO oder LO arbeitet.

O. g. Formeln sollten auf allen Plattformen korrekt funktionieren.

nach Deinen Hinweisen kann ich mich auch wieder daran erinnern, dass diese Änderungen in Calc schon auf der Liste diskutiert wurden. Ich danke Dir für Deine Hilfe.

Viele Grüße
Karl

Hallo Christian,

Hallo, Karl!

Nach der Umwandlung der Excel-Arbeitsmappe in eine Calc-Arbeitsmappe,
die für den Ausdruck benutzt werden soll, kämpfe ich zurzeit noch mit
folgendem Darstellungsproblem:

Alle Felder einer Ergebnisspalte mit der Formel

=WENN(ANZAHLLEEREZELLEN(W10:X10)<2;W10-X10;"")

für die keine Daten vorliegen, zeigen in LO 4.0.5 die bekannten
Lattenkreuze (###) an. Unter OOo 3.21 erscheinen statt der
Lattenkreuze überall Nullen, was genauso stört.

Welchen Fehlertyp hat die Zelle denn genau (steht in der Statuszeile,
wenn du auf der Zelle bist)? ### steht generell drin, wenn eine Zelle zu
klein für die Darstellung ist.

Ich möchte ein Verhalten erreichen wie in Excel auch: Ergebnisspalten
ohne Datenbasis sollten einfach leer erscheinen - egal ob jemand mit
einem älteren OOo oder AOO oder LO arbeitet.

So kann ich nur vermuten, da ich die Tabelle nicht kenne. Aber wenn
auch in den Zellen X10 und W10 Formeln stehen, die einen Wert oder eine
leere Zeichenkette "" ausgeben, dann ist das Problem, dass Calc auch
eine Zelle mit leerer Zeichenkette als "nicht leer" erkennt und somit
mitzählt. In deren Folge kann die Formel W10-X10 nicht ausgeführt
werden, da man Text (eine leere Zeichenkette ist solcher) und Zahlen
nicht miteinander verrechnen kann. Als Abhilfe könntest du die Formel
ersetzen durch

=WENN(ZÄHLENWENN(W10:X10;">0")=2;W10-X10;"")

die oben angesprochenen Probleme konnte ich zwischenzeitlich mithilfe der Liste lösen. Auch Dir vielen Dank.

Viele Grüße
Karl

Vorsicht; Du gehst davon aus, daß das Ergebnis nur ein positiver Wert
größer Null sein kann; aber was ist, wenn Die Summe mal gleich Null oder
gar kleiner ist? Abgesehen davon ist der /Mittelwert/, den Du hier
ausgibst, was *ganz* anderes als die /Differenz/, die in der Formel im
OP steht.

Wolfgang

Hallo Wolfgang,

setze dort:
=WENN(SUMME(G15:G40)>0;MITTELWERT(G15:G40)-0,05;"")

Vorsicht; Du gehst davon aus, daß das Ergebnis nur ein positiver Wert
größer Null sein kann; aber was ist, wenn Die Summe mal gleich Null oder
gar kleiner ist? Abgesehen davon ist der /Mittelwert/, den Du hier
ausgibst, was *ganz* anderes als die /Differenz/, die in der Formel im
OP steht.

Ich habe mir die Vorlage angesehen. Da geht es um Punkte, die in einer
Abiturprüfung zu vergeben sind. Da geht nichts unter 0. Und da es um
einen Punktdurchschnitt aus 3 Halbjahren geht muss der Wert größer 0
sein - ansonsten wäre die Person für das Abitur gar nicht zugelassen worden.

Den Hinweis zum Mittelwert verstehe ich nicht, da der bereits in der
Calc-Datei so enthalten war. Ich habe lediglich den Inhalt
"ANZAHLLEEREZELLEN" aus der Formel geändert.

Gruß

Robert

Hi,

Blöde Frage

Warum nicht so (ähnlich) Wenn(A==0,"",<Den Code den du jetzt hast>)

Hoffentlich hilft das weiter :slight_smile: