Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Problem mit Wenn/dann und/oder
#1
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:
.xlsx   Wenn_und_oder.xlsx (Größe: 8,88 KB / Downloads: 5)

Ich kann leider den Fehler nicht entdecken....



Dank und Gruß
Carsten
Top
#2
Hola,


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

Gruß,
steve1da
Top
#3
Oder etwas kompakter:

Code:
=WENN(ODER(TEIL(A1;3;1)={"4";"8"});-1;1)*ABS(B1)
Grüsse
Detlef

Bitte keine PN!
Seit Nikolaus 2012 mit Excel 2010. Seit Ostern 2015 mit Office 365
Top
#4
Super, vielen Dank. Den Abolutwert (ABS) kannte ich bis dato noch nicht....

Auch als alter Sack lernt man immer wieder dazu!

Gruß
Carsten
Top
#5
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
Top
#6
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
Top
#7
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
Top
#8
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
Top
#9
Hola,

Text muss in "" gepackt werden Wink

Gruß,
steve1da
Top
#10
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....
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste