Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antwortento 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
Antwortento 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
Antwortento 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
Antwortento 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
Gruß Günter
Misserfolg ist eine Chance, es beim nächsten Mal besser zu machen.
(Henry Ford) www.zitate.net
Antwortento 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
Antwortento 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
Antwortento 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
Antwortento top
#9
Hola,

Text muss in "" gepackt werden Wink

Gruß,
steve1da
Antwortento 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....
Antwortento top


Gehe zu:


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