Spreedsheet Instrukcja IF jest dziwna

0

Mam więc dwa równania:

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

I:

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

Teraz chcę je w takiej instrukcji IF:

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

Jest on przerobiony, więc mogę umieścić go w komórce i przeciągnąć w dół, aby obliczyć liczby, które chcę umieścić na wykresie.

Ale tam, gdzie poszczególne obliczenia działają zgodnie z przeznaczeniem, instrukcja If pokazuje coś jeszcze, nawet jeśli po prostu robię to w ten sposób:

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

Ale kiedy są trzymane w oddzielnych komórkach i tylko o nich mowa, działają:

=IF(H5>H3;K6;K5)

Dlaczego to dziwne zachowanie i jak to naprawić?

Leipt
źródło
jakiej aplikacji używasz? Excel?
PeterH
LibreOffice, ale nie zauważyłem dużej różnicy między Libre i Excel, z wyjątkiem tego, że interfejs użytkownika jest nieco inny.
Leipt
nie mogę powiedzieć Libre, co jest z nią nie tak, ale w formacie EXCEL działa dobrze w przykładzie, który właśnie wypróbowałem. Tak długo, jak istnieje wartość w H3
PeterH
Dobrze. Spróbuję w programie Excel.
Leipt
pamiętaj tylko o zamianie; dla
PeterH,

Odpowiedzi:

0

Formuły, które działają, są tymi, które mają SUM. Wygląda na to, że zapomniałeś uwzględnić to w tych, które nie działają.

Na przykład (C1:INDIRECT("C"&H3))z IFinstrukcji spowoduje tablicę wartości, a nie pojedynczy wynik. Przypuszczalnie zamierzałeś SUM(C1:INDIRECT("C"&H3))zamiast tego pisać , jak w pierwszej formule.

Jim K.
źródło