Seite 1 von 1
=SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 15:47
von OttoZ
LinuxMint13 -Mate / LibreOffice3.5.4.2
Hallo,
die Formel liefert falsche Ergebnisse wenn im Bezugsbereich die passenden (Zahlen-)Werte fehlen.
Ich füge ein Beispiel an.
mfG OttoZ
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 16:35
von Karolus
Hallo
Grundsätzlich haben die Spaltenüberschriften aus A1 und B1
nichts in der Formel zu suchen -
Der (vermeintliche) Fehler hat auch nichts mit SUMMENPRODUKT zu tun sondern mit der Prüfung '
B1:B11
>0'
Beliebiger Text (sogar ="") wird als grösser als 0 gewertet - gleichzeitig liefert
TAG(A1) kurioserweise das gleiche wie
TAG(0) nämlich
30 (
30.12.1899 ← Tag 0 )
Wenn du unbedingt A1 und B1 in der Formel belassen willst musst zumindest die Prüfung in Spalte B ändern:
Code: Alles auswählen
=SUMMENPRODUKT(ISTZAHL(B$1:B9);TAGEIMMONAT(A9)-TAG(A$1:A9))
Karo
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 16:58
von OttoZ
Danke für die Aufklärung Karolus!
Richtig, es ist die Bedingung, nicht das Summenprodukt.
Ich werde die Kopfzeile künftig außen vor lassen, kein Thema.
Man muß es nur wissen.
TEXT und "" =>0
-sie werden ja wohl mit Unendlich gewertet
Ich habe die Prüfung auf Spalte
C verlegt und die Frage >1 gestellt,
=SUMMENPRODUKT(
C$1:C9>1;TAGEIMMONAT(A9)-TAG(A$1:A9))
... der vermeintlich Fehler tritt auch bei dieser Bedingung auf - was schon verwirrt.
mfG OttoZ
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 17:48
von Axel Richter
Hallo,
OttoZ hat geschrieben:-sie werden ja wohl mit Unendlich gewertet
Nein, es wird einfach auf Textvergleich umgeschaltet, wenn ein zu vergleichender Wert ein String ist.
{B$1:B9>0} ={"Betrag">"0";"">"0";"">"0";"">"0";"">"0";100>0;...} = {WAHR;FALSCH;FALSCH;FALSCH;FALSCH;WAHR;...}
"Betrag" ist auch > "1" und auch >"2" ... "Betrag" ist erst nicht mehr > "C"
viele Grüße
Axel
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 18:17
von OttoZ
Hallo Axel, danke für die Nachhilfe!
Mir fehlen doch oft die Grundlagen.
Als ich Rechnen lernte, da war "Text" noch nicht größer als 1, selbst wenn man einen Rechenschieber mit e-Funktionen hatte

kam das nicht raus!
Das klingt ein wenig wie Hühnen sind ungleich Gänse, trotzdem sind beide gleich, wenn man jeweils nur eine/s hat.
Nun habe ich drei Hühnen und zwei Enten, da verbietet sich jeder Vergleich.
Herzliche Grüße,
OttoZ
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 18:48
von Axel Richter
Hallo OttoZ,
OttoZ hat geschrieben:Als ich Rechnen lernte, da war "Text" noch nicht größer als 1
Ja, die guten alten Zeiten.
"Text" ist aber immern noch nicht größer als 1. "Text" und 1 sind nicht vergleichbar.
Aber um sortieren zu können, muss man "Betrag" und "Bitte" vergleichen können und entscheiden, dass "Be" vor "Bi" kommt. Und "1. Betrag" würde ich auch vor "Betrag" einsortieren. Da man von einer modernen Tabellenkalkulationssoftware verlangen kann, dass sie sortieren kann, muss sie also Texte vergleichen können. Das, und nichts anderes, tut Calc hier. Es vergleicht "Text" mit "1", nicht "Text" mit 1, nachdem *Du* in *Deiner* Formel verlangt hast "Text" mit 1 zu vergleichen

.
Deine Kritik geht also in die falsche Richtung. Man *könnte* kritisieren, dass Calc hier implizit auf Textvergleich umschaltet, sobald ein zu vergleichender Wert Text ist. Aber das hat durchaus auch seine guten Seiten.
Wie Du per ISTZAHL() ermitteln kannst, ob da wirklich eine Zahl steht, hat Karolus ja gezeigt.
viele Grüße
Axel
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 19:01
von Karolus
Hallo
Ich fände es an der Stelle besser einen Fehler zu werfen wenn in Formeln Text und Wert verglichen wird.
Sonderbar ist auch =TAG("text") → 30 ?? da gehört einfach #WERT! hin!
Karo
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 19:30
von Axel Richter
Hallo Karolus,
Karolus hat geschrieben:Ich fände es an der Stelle besser einen Fehler zu werfen wenn in Formeln Text und Wert verglichen wird.
Ja, aber dann würde =SUCHEN("22";A1) vermutlich auch nicht mehr funktionieren, wenn in A1 eine Zahl, bspw. 12322456, steht. Man müsste dann explizit =SUCHEN("22";TEXT(A1;0)) schreiben.
Und A1&" Text" ginge dann wahrscheinlich auch nicht mehr so einfach.
Karolus hat geschrieben:Sonderbar ist auch =TAG("text") → 30 ?? da gehört einfach #WERT! hin!
Ja, das in jedem Fall.
Und im normalen Kontext ergibt =TAG("text") ja auch #WERT!, jedenfalls in meinem LibreOffice 3.5.4.2.
Nur im Matrix-Kontext wird {=TAG(A1:A1)} zu 30, wenn in A1 ein Text steht. Vermutlich wollten die Programmierer verhindern, dass durch einen einzigen Fehlerwert die gesamte Matrix eine Fehler wirft. Denn {=TAG(A1:A9)} würde ja dann auch einfach #WERT! ergeben, obwohl in A2, A3 usw. durchaus Datumswerte stehen. Das ist aber auch meiner Meinung nach suboptimal. Denn "Text"=>0 ist einfach nicht korrekt.
viele Grüße
Axel
Re: =SUMMENPRODUKT() zickt
Verfasst: Sa, 07.07.2012 19:45
von OttoZ
Hallo,
"Text" ist aber immern noch nicht größer als 1. "Text" und 1 sind nicht vergleichbar.
... wie sagt doch Karolus:
da gehört einfach #WERT! hin!
Nach wie vor finde ich, hier hinkt das System,
die Frage lautet, ist der
Zellinhalt > 1, wie kann da ein Text in die Wertung kommen?
Klingt mir nicht logisch, aber ich kenne zu wenig von WAHR & Co.
Natürlich muss ich lernen mit den Programmeigenheiten zurecht zu kommen.
Das fällt natürlich schwerer, wenn man die Logig vermisst/nicht erkennt.
mfG OttoZ