Seite 1 von 1

Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 12:37
von frankdrebin
Hallo,

ich würde gerne folgenden Excel-Ausdruck in Apache OpenOffice verwenden:
=WENN(B2="YES";B5+WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1));0)+WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(C6;0;0;C4-1));0)+WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(D6;0;0;D4-1));0)+WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(E6;0;0;E4-1));0);0)
Hierbei sind wohl WENNFEHLER und BEREICH.VERSCHIEBEN problematisch.

Die Funktion WENNFEHLER kennt OpenOffice wohl nicht. Ich habe etwas rumgestöbert und es soll vllt. mit WENN(ISTFEHLER gehen. Da habe ich aber Fehlermeldungen bekommen.

Die Funktion BEREICH.VERSCHIEBEN kennt OpenOffice wohl als VERSCHIEBUNG. Das habe ich ersetzt, kann aber erst feststellen, ob das stimmt, wenn der ganze Ausdruck berechnet wird.

Könnte mir jemand bitte den korrigierten Ausdruck angeben?

Danke und Gruß,
frank

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 13:06
von Lupo1
=WENN(B2="YES";B5+
WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1));0)+
WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(C6;0;0;C4-1));0)+
WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(D6;0;0;D4-1));0)+
WENNFEHLER(SUMME(BEREICH.VERSCHIEBEN(E6;0;0;E4-1));0);0)

wird dann zu

=WENN(B2="YES";B5+
WENN(ISTFEHLER(SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1));0;SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1)))+
WENN(ISTFEHLER(SUMME(BEREICH.VERSCHIEBEN(C6;0;0;C4-1));0;SUMME(BEREICH.VERSCHIEBEN(C6;0;0;C4-1)))+
WENN(ISTFEHLER(SUMME(BEREICH.VERSCHIEBEN(D6;0;0;D4-1));0;SUMME(BEREICH.VERSCHIEBEN(D6;0;0;D4-1)))+
WENN(ISTFEHLER(SUMME(BEREICH.VERSCHIEBEN(E6;0;0;E4-1));0;SUMME(BEREICH.VERSCHIEBEN(E6;0;0;E4-1)));0)

In Excel als OpenDoc speichern oder in OO BEREICH.VERSCHIEBEN durch VERSCHIEBUNG ersetzen.

Falls OO keine Umbrüche in Formeln erlaubt, diese löschen. Falls doch, möglichst gleich immer so posten wie ich; man erkennt die Strukturen einfach leichter und der Antworter hat weniger zu tun.

Deine Formel erscheint mir seltsam; denn die Summanden-Beginne verschieben sich um nur je eine Spalte. Es wird also möglicherweise doppelt summiert; außerdem lässt sich die Formel vermutlich vereinfachen, wenn man etwas zu B4:E4 wüsste.

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 13:53
von frankdrebin
Hallo Lupo1,
Lupo1 hat geschrieben:
Sa, 04.08.2018 13:06
WENN(ISTFEHLER(SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1));0;SUMME(BEREICH.VERSCHIEBEN(B6;0;0;B4-1)))+
Ich habe jeweils nach der ersten VERSCHIEBUNG noch eine Klammer geschlossen. Dann sieht es korrekt aus. Vielen Dank!
Lupo1 hat geschrieben:
Sa, 04.08.2018 13:06
möglichst gleich immer so posten wie ich; man erkennt die Strukturen einfach leichter und der Antworter hat weniger zu tun.
Das stimmt. Ich versuche es in Zukunft zu berücksichtigen.
Lupo1 hat geschrieben:
Sa, 04.08.2018 13:06
Deine Formel erscheint mir seltsam; denn die Summanden-Beginne verschieben sich um nur je eine Spalte. Es wird also möglicherweise doppelt summiert; außerdem lässt sich die Formel vermutlich vereinfachen, wenn man etwas zu B4:E4 wüsste.
Der Sinn dieses Ausdruckes ist es, den Bereich B6:E24 zu summieren. Und zwar spaltenweise, je nachdem wie hoch der Wert in B4:E4 ist. Steht in B4 z.B. 16 werden 16 Werte runter von B6 aus in der B-Spalte summiert. Dazu dann die weiteren Spalten C,D und E.

Danke nochmal,
Gruß,
frank

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 14:54
von mikeleb
Hallo,
Steht in B4 z.B. 16 werden 16 Werte runter von B6 aus in der B-Spalte summiert.
Dann solltest du aber

Code: Alles auswählen

... SUMME(VERSCHIEBUNG(B6;0;0;B4)) ...
(ohne die -1) nehmen.

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 15:13
von mikeleb
Hallo,
wenn ich die Problematik richtig verstanden habe, sollte folgende Formel dein Problem auch lösen:

Code: Alles auswählen

=SUMMENPRODUKT(B6:E24;((ZEILE(B6:E24)-ZEILE(B6))<(B4:E4))*ISTZAHL(B4:E4))

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Sa, 04.08.2018 17:27
von Gast
Hallo mikeleb
mikeleb hat geschrieben:
Sa, 04.08.2018 14:54
Steht in B4 z.B. 16 werden 16 Werte runter von B6 aus in der B-Spalte summiert.
Dann solltest du aber

Code: Alles auswählen

... SUMME(VERSCHIEBUNG(B6;0;0;B4)) ...
(ohne die -1) nehmen.
Gut erkannt. In Zeile 4 steht per default eine "1"; da soll noch nichts summiert werden. Dann bei "2" losgehend, soll jeweils eine Zeile mehr summiert werden.
mikeleb hat geschrieben:
Sa, 04.08.2018 15:13
wenn ich die Problematik richtig verstanden habe, sollte folgende Formel dein Problem auch lösen:

Code: Alles auswählen

=SUMMENPRODUKT(B6:E24;((ZEILE(B6:E24)-ZEILE(B6))<(B4:E4))*ISTZAHL(B4:E4))
Dementsprechend habe ich Deine Funktion angepasst:

Code: Alles auswählen

=SUMMENPRODUKT(B6:E24;((ZEILE(B6:E24)-ZEILE(B6))<(B4:E4)-1)*ISTZAHL(B4:E4))
Sehr elegant gelöst, mikeleb. Ich habe es übernommen. Danke!

Gruß,
frank

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: So, 05.08.2018 12:56
von mikeleb
Hallo,
In Zeile 4 steht per default eine "1"
Dann kannst du auf den letzten Teil der Formel verzichten. Der diente nur dem Abfangen eines Fehlers, falls in Zeile 4 nichts oder keine Zahl steht.

Code: Alles auswählen

=SUMMENPRODUKT(B6:E24;((ZEILE(B6:E24)-ZEILE(B6))<(B4:E4)-1))

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Di, 07.08.2018 18:55
von frankdrebin
mikeleb hat geschrieben:
So, 05.08.2018 12:56
Dann kannst du auf den letzten Teil der Formel verzichten.
Okay, habe ich übernommen. Danke!

Re: Excel-Formel umwandeln (wennfehler, bereich.verschieben)

Verfasst: Di, 07.08.2018 23:09
von frankdrebin
mikeleb hat geschrieben:
So, 05.08.2018 12:56
In Zeile 4 steht per default eine "1"
Dann kannst du auf den letzten Teil der Formel verzichten. Der diente nur dem Abfangen eines Fehlers, falls in Zeile 4 nichts oder keine Zahl steht.
Danke nochmal für die Erläuterung. Hat mir gerade an anderer Stelle weitergeholfen :)