=SUMMENPRODUKT() zickt

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

=SUMMENPRODUKT() zickt

Beitrag 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
Dateianhänge
Summenprodukt_Rätsel.ods
(12.26 KiB) 109-mal heruntergeladen
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: =SUMMENPRODUKT() zickt

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

Re: =SUMMENPRODUKT() zickt

Beitrag 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 :shock:
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
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: =SUMMENPRODUKT() zickt

Beitrag 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
Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

Re: =SUMMENPRODUKT() zickt

Beitrag 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 :o 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
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: =SUMMENPRODUKT() zickt

Beitrag 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
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: =SUMMENPRODUKT() zickt

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: =SUMMENPRODUKT() zickt

Beitrag 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
Benutzeravatar
OttoZ
****
Beiträge: 162
Registriert: Mi, 27.08.2008 10:16

Re: =SUMMENPRODUKT() zickt

Beitrag 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
LinuxMint14Mate64 - LibreOffice 4.1.1.2
Antworten