Formel-Hilfe

Hallo Ludwig

Du hast statt im Forum im Download-Bereich eine Frage gestellt:

http://experts.ragtime.de/experts/node/3460

Es geht einfach darum, für die Kasseneingänge, die in Spalte D als positive Zahlen eingetragen werden, und die Kassenausgänge (negative Zahlen in Spalte E), in Spalte F den Kassensaldo auszuweisen. Im vorgelegten Dokument ist das mit einer Formel gemacht, die in Spalte F nach unten kopiert wurde (Beispiel: Zelle F3):

F2+Summe(D3+E3)

Da in Zeile 1 der Tabellenkopf steht, fehlt dort natürlich die Addition des in der vorangehenden Zeile stehenden Saldos. Das gestellte Problem: Der Kassenstand soll nur so weit ausgewiesen werden, wie eine Kassenbewegung vorliegt.

Dazu zuerst folgende Bemerkungen:
1. Fragen solltest du im Forum stellen. Im Download-Bereich stehen Lösungen für Probleme von allgemeinem Interesse.
2. Als "kleines Bild" soll keine RagTime-Datei eingegeben werden, sondern z.B. eine Bildschirmfoto
3. Die Namen der hochgeladenen Bilder dürfen keine Sonder- und Leerzeichen enthalten

Indem ich auf das nicht angezeigte Bild klickte und den Link kopierte, konnte ich die Adresse deines RagTime-Dokumentes ermitteln und musste nur im Dateinamen das "%20" durch das Leerzeichen ersetzen, um das RagTime-Dokument herunterzuladen.

Dann noch zwei Kommentare zu deiner Formel:
1. Warum denn die Summenfunktion bemühen? "F2+D3+E3" ergibt genau das gleiche Resultat.
2. Wenn schon die Summenfunktion, dann in der Klammer nicht noch zusätzlich eine Addition! Das führt zwar zu keinem Fehler, ist aber "doppelt gemoppelt". Mit korrekt angewendeter Summenfunktion heisst die Formel "F2+Summe(D3;E3)" oder noch besser "Summe(F2;D3;E3)".

Jetzt meine Lösungsvorschläge:

Lösung 1: Statt deiner obigen Formel in Zelle F3 die folgende:

Wenn(D3+E3;F2+D3+E3;'')

Damit wird in Spalte F nur dann ein Wert berechnet, wenn die Summe der Werte in den Spalten D und E von 0 abweicht. Sonst wird der Inhalt der Zelle gelöscht.

Diese Lösung hat, wie deine Formel auch, einen grossen Nachteil - sie führt leicht zu Fehlern. Angenommen du merkst, dass ein Eintrag vergessen wurde. Weil bereits ein Eintrag existiert, der nur leicht korrigiert werden muss, kopierst du eine Zeile und fügst sie an anderer Stelle ein. Die Formel wurde dabei mitkopiert und wird die Saldowerte völlig verfälschen. Oder du löschst eine Zeile - dann wird die Formel aller folgenden Zeilen einen Fehler produzieren. In meinem RagTime-Buch habe ich deshalb dringend empfohlen, in diesem Fall mit der Suchlauffunktion zu arbeiten:

Lösung 2: Hier stehen in Spalte F gar keine Formeln!!! Es gibt im Rechenblatt nur eine einzige Formel. Ich setze diese vorzugsweise in eine Zelle in der Kopfzeile, z.B. Zelle G1, weil die Kopfzeile sicher nicht gelöscht wird. Die Formel in Zelle G1 lautet:

VSuchlauf(D:E;Und(LfdIndex>1;LfdZelle+Spaltenwert(2));0;SetzeZelle(LfdResultat+LfdZelle+Spaltenwert(2);F:F;LfdIndex))

Es werden also die Zeilen so weit bearbeitet, wie die Summe der Werte in den Spalten D und E von 0 abweicht. Die Zeile 1 wird ignoriert. In allen Zeilen, die diese Bedingung erfüllen, wird in Spalte F der Saldo eingesetzt.

Jetzt kannst du beliebig Zeilen löschen oder einfügen - der Kassenstand wird immer korrekt angegeben. Aufmerksame Leser meines Buches werden bemerken, dass ich "Spaltenwert(2)" verwendet habe, wo ich doch im Buch dringend von der Verwendung dieser Funktion abrate. Hier scheint mir eine zulässige Anwendung vorzuliegen. Es darf vorausgesetzt werden, dass zwischen den beiden Spalten D und E nie eine zusätzliche Spalte eingefügt werden wird, was die Formel fehlerhaft machen würde.

Eine kritische Bemerkung kann man zur vorgeschlagenen Formel sicher machen: Wird der letzte Eintrag gelöscht, so bleibt der Kassensaldo stehen - so muss man ihn selbst löschen. Positiv dagegen: Auch wenn in einer Zeile keine Kassenbewegung steht, darunter aber weitere Zeilen folgen, so wird der Kassensaldo über alle Zeilen richtig berechnet, was mit der Formel gemäss Lösung 1 nicht der Fall wäre.

Gruss, Thomas