Re: [de-users] Calc: Bei der Berechnung einer Summe werden Felder ausgelassen
Am 21.03.2017 um 18:17 schrieb Ernst May-Jung: > > Ich habe die problematische Spalte aus der Originaltabelle kopiert und > in eine neue Tabelle eingefügt: > https://drive.google.com/open?id=0B9JW9rdtKs2oeEdlcTdCZzZ3TTA > > * Da ist eine Spalte mit Zahlen. Am Ende wird die Spalte summiert. > * Die Summe ist jedoch unvollständig. Es werden Zahlen ausgelassen. > Diese Zahlen habe ich rot markiert. Diese vermeintlichen Zahlen sind in Wirklichkeit keine Zahlen, sondern Text (der halt zufälligerweise aus Ziffern besteht). Und u. a. die Funktion SUMME ignoriert Text. > * In einer Addition werden die Zahlen jedoch korrekt behandelt. Im Gegensatz zur Funktion SUMME versucht Calc bei einer *direkten* Rechenoperation mit einer Zelle, diese in eine Zahl um zu konvertieren. Übrigens werden Texte auch bei Vergleichen nicht konvertiert. Ein "=A1=B1" ergibt 'falsch', wenn in A1 der Text "1" steht, und in B1 die Zahl 1. Integriert man /vor/ dem Vergleich jedoch eine Rechenoperation, indem man "=(A1+0)=(B1+0)" schreibt, ist das Ergebnis dagegen 'wahr'. > Die Ursache, dass die rot markierten Zahlen nicht mitgerechnet werden, > habe ich nach entzippen der .ods in der 'content.xml' gefunden. > Die betroffenen Zahlen sind vom Typ 'string' statt 'float'. Genau. > - Bei der Addition findet eine Typkonvertierung statt, bei SUM() nicht. Jepp; aber eben nur bei direkten Rechenoperationen mit einer Zelle. > - Der Typ 'string' ist nicht unmittelbar erkennbar. Es ist möglich das > Feld so zu formatieren, dass kein Hochkomma angezeigt wird, das zeigt > das Feld vom Typ 'string' ist. Ja; es obliegt tem Benutzer, darauf zu achten. Du kannst z. B. eine weitere Spalte oder Bedingte Formatierung benutzen, und das mit der Bedingung 'ISTZAHL()=falsch' zu überprüfen und anzeigen zu lassen. > Durch Löschen der direkten Formatierung, kam das Hochkomma wieder zum > Vorschein, ich konnte es entfernen und die Summe wurde wieder korrekt > berechnet. Du kannst auch einfach den betreffenden Bereich oder auch die ganze Spalte (leider immer nur eine) markieren, und über 'Daten => Text in Spalten' eventuelle Texte in Zahlen umwandeln lassen. Wenn Du in dem Dialogfenser unten eine oder mehrere der Spalten markierst, kannst Du ggf. auch diverse Datumsformate angeben, und sogar umgekehrt auch Zahlen in Text verwandeln. Wolfgang -- -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Calc: Bei der Berechnung einer Summe werden Felder ausgelassen
Hallo Ernst, solche Fehler kann man am besten durch -> Ansicht -> Werte hervorheben bzw. Strg+F8 sichtbar machen. So sieht man sofort, dass die beiden Zellen als Text formatiert sind (schwarze Schriftfarbe). MfG Alois Ernst May-Jung schrieb am 21.03.2017 um 18:17: Heute ist mir ein merkwürdiges Verhalten beim Berechnen einer Summe aufgefallen. Die Ursache habe ich gerade eben auch gefunden. Danach konnte ich das Problem auch in der Originaltabelle lösen. Ich habe die problematische Spalte aus der Originaltabelle kopiert und in eine neue Tabelle eingefügt: https://drive.google.com/open?id=0B9JW9rdtKs2oeEdlcTdCZzZ3TTA * Da ist eine Spalte mit Zahlen. Am Ende wird die Spalte summiert. * Die Summe ist jedoch unvollständig. Es werden Zahlen ausgelassen. Diese Zahlen habe ich rot markiert. * In einer Addition werden die Zahlen jedoch korrekt behandelt. Die Ursache, dass die rot markierten Zahlen nicht mitgerechnet werden, habe ich nach entzippen der .ods in der 'content.xml' gefunden. Die betroffenen Zahlen sind vom Typ 'string' statt 'float'. - Bei der Addition findet eine Typkonvertierung statt, bei SUM() nicht. - Der Typ 'string' ist nicht unmittelbar erkennbar. Es ist möglich das Feld so zu formatieren, dass kein Hochkomma angezeigt wird, das zeigt das Feld vom Typ 'string' ist. -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
Re: [de-users] Calc: Bei der Berechnung einer Summe werden Felder ausgelassen
Hallo Ernst, die Kategorie der roten Zahlen kannst Du auch ohne entzippen der ODS-Datei erkennen: 1. Zelle markieren -> [Format] [Zellen][Zahlen]: Kategorie=Text Format=@ Format-Code=@ oder 2. Wendet man "Direkte Formatierung löschen" auf diese Spalte an, erkennt man ganz schnell die Text-Zahlen - sie werden nach links ausgerichtet und wenn man die entsprechenden Zellen anklickt, sieht man dann auch das vorangestellte ' Zeichen. Entfernt man es, funktioniert die SUMME-Funktion korrekt. Hinweis: Ohne direkte Formatierung werden numerische Zahlen immer rechtsbündig (in der Zelle) angezeigt, Text-Zahlen werden immer (wie auch Text) linksbündig angezeigt. Unterschied zwischen ' und @: + Mit vorangestelltem ' kann man eine Zahl direkt als Text eingeben. Das Format der Zelle ist dabei egal und wird dadurch auch nicht verändert, soweit ich das beobachten konnte. + Mit @ kann man eine Zelle mit dem Format TEXT formatieren. Da eingegebene Zahlen werden dann als Text behandelt und man sieht kein vorangestelltes ' Zeichen. Hinter der Funktion SUMME bzw. dem arithmetischen Operator + verbergen sich offensichtlich unterschiedlich programmierte Algorithmen, so dass bei SUMME Text-Zahlen nicht wie gewünscht erkannt werden. Näheres habe ich allerdings dazu auch nicht gefunden. Grüße Hans-Werner -- Originalnachricht -- Von: "Ernst May-Jung" <silva...@gmail.com> An: users@de.libreoffice.org Gesendet: 21.03.2017 18:17:25 Betreff: [de-users] Calc: Bei der Berechnung einer Summe werden Felder ausgelassen Hallo, Mein Name ist Ernst, ich bin Winzer, Südlich von Mainz. Ab und an programmiere ich in PHP. Heute ist mir ein merkwürdiges Verhalten beim Berechnen einer Summe aufgefallen. Die Ursache habe ich gerade eben auch gefunden. Danach konnte ich das Problem auch in der Originaltabelle lösen. Ich habe die problematische Spalte aus der Originaltabelle kopiert und in eine neue Tabelle eingefügt: https://drive.google.com/open?id=0B9JW9rdtKs2oeEdlcTdCZzZ3TTA * Da ist eine Spalte mit Zahlen. Am Ende wird die Spalte summiert. * Die Summe ist jedoch unvollständig. Es werden Zahlen ausgelassen. Diese Zahlen habe ich rot markiert. * In einer Addition werden die Zahlen jedoch korrekt behandelt. Die Ursache, dass die rot markierten Zahlen nicht mitgerechnet werden, habe ich nach entzippen der .ods in der 'content.xml' gefunden. Die betroffenen Zahlen sind vom Typ 'string' statt 'float'. - Bei der Addition findet eine Typkonvertierung statt, bei SUM() nicht. - Der Typ 'string' ist nicht unmittelbar erkennbar. Es ist möglich das Feld so zu formatieren, dass kein Hochkomma angezeigt wird, das zeigt das Feld vom Typ 'string' ist. Durch Löschen der direkten Formatierung, kam das Hochkomma wieder zum Vorschein, ich konnte es entfernen und die Summe wurde wieder korrekt berechnet. Ob das nun ein Bug oder ein Feature ist, was ich da entdeckt habe, können sicher andere beurteilen, die hier mitlesen. Ich bedanke mich fürs lesen meines Beitrags. Grüße Ernst P.S. Habe mir heute die Version 5.2.6.2 installiert um kein Schnee von gestern zu erzählen. -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert
[de-users] Calc: Bei der Berechnung einer Summe werden Felder ausgelassen
Hallo, Mein Name ist Ernst, ich bin Winzer, Südlich von Mainz. Ab und an programmiere ich in PHP. Heute ist mir ein merkwürdiges Verhalten beim Berechnen einer Summe aufgefallen. Die Ursache habe ich gerade eben auch gefunden. Danach konnte ich das Problem auch in der Originaltabelle lösen. Ich habe die problematische Spalte aus der Originaltabelle kopiert und in eine neue Tabelle eingefügt: https://drive.google.com/open?id=0B9JW9rdtKs2oeEdlcTdCZzZ3TTA * Da ist eine Spalte mit Zahlen. Am Ende wird die Spalte summiert. * Die Summe ist jedoch unvollständig. Es werden Zahlen ausgelassen. Diese Zahlen habe ich rot markiert. * In einer Addition werden die Zahlen jedoch korrekt behandelt. Die Ursache, dass die rot markierten Zahlen nicht mitgerechnet werden, habe ich nach entzippen der .ods in der 'content.xml' gefunden. Die betroffenen Zahlen sind vom Typ 'string' statt 'float'. - Bei der Addition findet eine Typkonvertierung statt, bei SUM() nicht. - Der Typ 'string' ist nicht unmittelbar erkennbar. Es ist möglich das Feld so zu formatieren, dass kein Hochkomma angezeigt wird, das zeigt das Feld vom Typ 'string' ist. Durch Löschen der direkten Formatierung, kam das Hochkomma wieder zum Vorschein, ich konnte es entfernen und die Summe wurde wieder korrekt berechnet. Ob das nun ein Bug oder ein Feature ist, was ich da entdeckt habe, können sicher andere beurteilen, die hier mitlesen. Ich bedanke mich fürs lesen meines Beitrags. Grüße Ernst P.S. Habe mir heute die Version 5.2.6.2 installiert um kein Schnee von gestern zu erzählen. -- Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org Probleme? http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/ Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de Listenarchiv: http://listarchives.libreoffice.org/de/users/ Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert