Spreedsheet IF-Anweisung ist seltsam

0

Also habe ich zwei Gleichungen:

=SUM(C1:INDIRECT("C"&H5))+(H1*H5)

Und:

=SUM(C1:INDIRECT("C"&H3))+(H1*H5)+(K1*(H5-H3))

Jetzt möchte ich sie in einer IF-Anweisung wie folgt:

=IF(A1>$H$3;($C$1:C1)+($H$1*C1)+($K$1*(A1-$H$3));($C$1:C1)+($H$1*A1))

Es wurde überarbeitet, damit ich es in eine Zelle einfügen und nach unten ziehen kann, um die Zahlen zu berechnen, die ich in ein Diagramm einfügen möchte.

Aber wo die einzelnen Berechnungen wie beabsichtigt funktionieren, zeigt die If-Anweisung etwas anderes, auch wenn ich es einfach so mache:

=IF(H5>H3;(C1:INDIRECT("C"&H3))+(H1*H5)+(K1*(H5-H3));(C1:INDIRECT("C"&H5))+(H1*H5))

Aber wenn sie in getrennten Zellen aufbewahrt und nur auf sie verwiesen werden, funktionieren sie:

=IF(H5>H3;K6;K5)

Warum dieses seltsame Verhalten und wie behebe ich es?

Leipt
quelle
Welche Anwendung verwenden Sie? Excel?
PeterH
LibreOffice, aber ich habe keinen großen Unterschied zwischen Libre und Excel bemerkt, außer dass die Benutzeroberfläche ein bisschen anders ist.
Leipt
Ich kann für Libre nicht sagen, was daran falsch ist, aber in einem EXCEL-Format funktioniert es in einem Beispiel, das ich gerade ausprobiert habe. Solange es einen Wert in H3 gibt
PeterH 06.10.17
Okay. Werde es in Excel versuchen.
Leipt
Denken Sie daran, zu tauschen; for,
PeterH

Antworten:

0

Die Formeln, die funktionieren, sind diejenigen, die haben SUM. Es sieht so aus, als hätten Sie vergessen, das in diejenigen aufzunehmen, die nicht funktionieren.

Beispielsweise führt (C1:INDIRECT("C"&H3))die IFAnweisung zu einem Array von Werten, nicht zu einem einzelnen Ergebnis. Vermutlich wollten Sie SUM(C1:INDIRECT("C"&H3))stattdessen schreiben , wie in der ersten Formel.

Jim K
quelle