Clever-Excel-Forum

Normale Version: Problem mit Wenn/dann und/oder
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich habe folgendes Problem:

In Spalte A habe ich diverse Zahlen. In Spalte B steht ein Wert, entweder positiv oder negativ. In Spalte D sollen die Werte aus Spalte B wie folgt umgewandelt werden:

Ist der Wert in Spalte B negativ, so soll er in Spalte D in einen positiven Wert umgewandelt werden (also aus -3000 wird 3000). Ist der Wert in Spalte A positiv, so soll er ohne Änderung in Spalte D übernommen werden (3000 bleibt 3000). Ist aber die 3. Zahl der Belegnummer in Spalte A eine 4 oder 8, so soll der Wert in Spalte D auch ohne Änderung übernommen werden. (Um die Verwirrung komplett zu machen: ein positiver Wert in Spalte A kommt nicht vor, wenn die 3. Stelle der Belegnummer 4 oder 8 ist --> 4 und 8 bedeutet immer negativ).
Anders ausgedrückt: Die Werte in Spalte D müssen immer positiv sein. Es sei denn, die 3. Stelle der Belegnummer ist 4 oder 8, dann müssen sie negativ sein.

Ich habe mir dafür eine Verschachtelung von Wenn/und/oder ausgedacht, aber es funktioniert nicht richtig: =WENN(UND(ODER(TEIL(A1;3;1)*1=4;TEIL(A1;3;1)*1=8);B1<0);B1;(B1*-1))

Die Formel wandelt auch die positiven Werte aus Spalte B in negativ um.

Hier ist die Tabelle: [attachment=23717]

Ich kann leider den Fehler nicht entdecken....



Dank und Gruß
Carsten
Hola,


Code:
=WENN(ODER(TEIL(A1;3;1)*1=4;TEIL(A1;3;1)*1=8);ABS(B1)*-1;ABS(B1))

Gruß,
steve1da
Oder etwas kompakter:

Code:
=WENN(ODER(TEIL(A1;3;1)={"4";"8"});-1;1)*ABS(B1)
Super, vielen Dank. Den Abolutwert (ABS) kannte ich bis dato noch nicht....

Auch als alter Sack lernt man immer wieder dazu!

Gruß
Carsten
Arbeitsblatt mit dem Namen 'Tabelle1'
ABCD
1193000-10001000
2194000-2000-2000
319600030003000
4198000-4000-4000

ZelleFormel
D1=WENN(ODER(TEIL(A1;3;1)*1=4;TEIL(A1;3;1)*1=8);B1;ABS(B1))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Ich will ja immer, sofern es mir möglich ist, verstehen, was ich nach eurer Anleitung tue. In dem Zusammenhang habe ich mal ausprobiert, zusätzlich zu der 4 und der 8 an der 3. Stelle auch mal ein Buchstaben zu definieren. Das sollte doch mit der Teil-Funktion möglich sein, oder? Es klappt nämlich nicht, wenn ich die o.g. Formel(n) um ein weiteres "oder" ergänze.

Warum ist das so?

Gruß
Carsten
Hola,


Zitat:Warum ist das so?

Teil() erzeugt einen Text, die 3 wird also als Text ausgelesen. Daher packt man *1 an den Part um aus der Text 3 eine Zahl 3 zu machen.
Beim Buchstaben muss dann dann natürlich weg!

Gruß,
steve1da
OK, das habe ich mir gedacht. Um den Buchstaben A ergänzt sähe die Formal dann so aus: =WENN(ODER(TEIL(A1;3;1)*1=4;TEIL(A1;3;1)*1=8;TEIL(A1;3;1)=A);ABS(B1)*-1;ABS(B1))

Aber bei der Eingabe der Formal gibt Excel einen Fehler aus Huh
Hola,

Text muss in "" gepackt werden Wink

Gruß,
steve1da
Arrgh, verdammt... Blush 

OK, modifizierte Formel: =WENN(ODER(TEIL(A1;3;1)*1=4;TEIL(A1;3;1)*1=8;TEIL(A1;3;1)="A");ABS(B1)*-1;ABS(B1))

Trotzdem wird in D1 der Fehler "#Wert!" ausgegeben, wenn ich in A1 z.B. aaa123 eingebe. Und zwar egal, wie ich A1 formatiere....
Seiten: 1 2