Seite 1 von 1

Mehrere Felder unter Abhängigkeit anderer von anderem Feld abziehen

Verfasst: So 10. Apr 2016, 22:57
von TobiasHaelke
Hallo zusammen,

ich bin mir sehr wohl der Suchfunktion, sowie der Möglichkeit zu googlen bewusst. In diesem Falle weiß ich jedoch leider nicht, wonach...
Ich bitte es daher zu entschuldigen, Falls die Frage schon 10*10^9999 mal beantwortet wurde. Ähnlich schwer, die Vergabe eines angemessenen Betreffs.

Meine Frage:

Zeile01; 15; 12 ;1
Zeile02; 32; 28 ;2
Zeile03; 8; 10 ;2
.
.
.
Zeile32; 100; 50;-
Zeile33; 200; 80;-

Ich hätte gerne je nach Wert aus Spalte 3, dass die vorangegangenen werte von entweder Zeile 32 abgezogen werden, oder von Zeile 33.
Im dargestellten Falle hätte ich gerne:

100(A32)-15(A1) und 50(B32)-12(B1)
200(A33)- 40(A2+A3) und 80(B33) - 38(B2+B3)

ich hoffe ich konnte meine Frage zum Ausdruck bringen und bin dankbar für Hilfe.


Liebe Grüße,

Tobias

Re: Mehrere Felder unter Abhängigkeit anderer von anderem Feld abziehen

Verfasst: Mo 11. Apr 2016, 11:44
von iBlack
Hallo du,

ich hab mir da mal was ausgedacht und etwas herum getüftelt:

Also, du hast beispielsweise in folgenden Zellen, folgendes stehen:
A1=200;20;2
A2=150;20;1
A3=100;10;-

So, wenn du jetzt am Ende ;2 hast, soll beispielsweise 20 dazu gerechnet werden, bei ;1 am Ende sollen 20 abgezogen werden und bei ;- am Ende, soll nichts passieren und die Zelle soll den Wert ohne Änderungen übernehmen.

Dazu überprüfst du zuerst den hintersten Wert, da es sich hier nur um ein Zeichen oder eine einstellige Zahl handelt, kannst du da ja die

Code: Alles auswählen

 =RECHTS() 
Formel nutzen.

So, überprüfen tust du das dann so:

Überprüfen auf "-":

Code: Alles auswählen

=WENN(RECHTS(A1;1)="-";...;...)
Überprüfen auf "1":

Code: Alles auswählen

=WENN(RECHTS(A1;1)="1";...;...)
Überprüfen auf "2":

Code: Alles auswählen

=WENN(RECHTS(A1;1)="2";...;...)
So, dann kommen wir zu den Rechenoperationen, mit dieser Formel hier, wird dir immer die Anzahl Zeichen bis zum ersten Trennzeichen angeben (in diesem Fall also das Semikolon ";")

Formel:

Code: Alles auswählen

=FINDEN(";";WECHSELN(A1;";";"-";LÄNGE(A1)-LÄNGE(WECHSELN(A1;";";""))))
Da Ziehst du dann immer 1 ab um die Länge der ersten zahl zu erhalten (es wird gezählt bis zum Semikolon, sprich als Beispiel nehmen wir die Zelle A1, 200;20;2
Zeichen 1 200;20;2, Zeichen 2 200;20;2, Zeichen 3 200;20;2, Zeichen 4 200;20;2)

So, jetzt musst du nur noch die Operatoren mitgeben, was genau bei welcher Zahl oder bei Welchem Zeichen am Ende gemacht werden soll :).

Dazu dann noch die Formel Links benutzen, damit du eben den Wert von Links aus auswählen kannst:

Code: Alles auswählen

=WENN(RECHTS(A1;1)="1";LINKS(A1;FINDEN(";";WECHSELN(A1;";";"-";LÄNGE(A1)-LÄNGE(WECHSELN(A1;";";""))))-1)-20;WENN(RECHTS(A1;1)="2";LINKS(A1;FINDEN(";";WECHSELN(A1;";";"-";LÄNGE(A1)-LÄNGE(WECHSELN(A1;";";""))))-1)+20;FINDEN(";";WECHSELN(A1;";";"-";LINKS(A1;LÄNGE(A1)-LÄNGE(WECHSELN(A1;";";""))))-1))))
Grüße,

iBlack