bn2023
Goto Top

Excel - Problem mit WENN-DANN Formel für eine Vertretungsregel

Hallo liebe Admin-User,

ich habe eine Excel-Datei, die eine Vertretungsregel darstellt.
Es gibt 3 Zustände in der Ergebnis-Spalte: Feld leer / Feld mit "OK" / Feld mit "ohne"
Deshalb habe ich im Code beim zweiten "WENN" die Null genommen, statt leer (B7=0).
Also… wenn in B7 eine 0 steht, dann schreibe ins Ergebnisfeld "ohne"

Hier mal ein Foto der Excel-Datei:

bild der datei

Wie ist der Aufbau der Datei?
  • In Spalte A steht ein Name, in Spalte B ein Mitarbeitercode und in Spalte C steht ein Ergebnis, welches über eine Formel ermittelt wird.
  • beim Start der Excel-Datei sollen alle Felder frei sein (siehe Zeile 4)
  • durch Eingabe eines Mitarbeitercodes in Spalte B wird z.B. das Ergebnis "OK" ausgelöst, falls der Code korrekt ist. Dazu muss in Spalte A auch ein Name stehen (siehe Zeilen 5 + 6).
  • wenn in Spalte A kein Name steht, wird auch kein Code in Spalte B eintragen. Daher soll das Ergebnis dann "ohne" sein. Dazu muss in Spalte B dann eine 0 (Null) eintragen werden, da ein leeres Feld ja schon über die Formel erstellt wird (Anfangszustand).

Spalte C "Ergebnis" hat in der orig. Datei folgenden Code (hier nur auszugsweise):

WENN(B7="";"";WENN(B7=0;"ohne";WENNFEHLER(SVERWEIS(B12&I12;WAHL({1.2};'\\Pfad zu einer anderen Excel-Datei, aus der die Namen für Spalte A gezogen werden......;"OK");2;FALSCH);"Fehler"  

Was hätte ich gerne?
ich hätte es gerne so, dass man auch in Spalte B nichts eintragen muss (in dem Fall also die Null) und dennoch ist das Ergebnis "ohne", wenn in Spalte A kein Name steht.
Es soll aber trotzdem so sein, dass am Anfang alle Felder leer sind, wenn man die Exceldatei startet (siehe Zeile 4).
Und... wenn ein Mitarbeitercode eingetragen wurde, soll bei Ergebnis "OK" erscheinen - wurde keiner eingetragen, dann "ohne"

Das Problem ist, dass die Ergebniszeile offenbar immer den Leerzustand (Anfangszustand) vorzieht. Wenn ich also da sage >> WENN(B7="";""; << dann kann ich nicht gleichzeitig für die Ergebniszeile sagen >> WENN(B7="";"ohne"; <<
Das Gleiche aber auch, wenn ich mich - statt auf B7 auf A7 beziehe, wo der Name steht. Es ist offenbar immer nur ein Zustand für die Ergebniszelle möglich.

Könnt Ihr mir hier weiterhelfen?

Vielen Dank und schöne Grüße,
BN

Content-ID: 670232

Url: https://administrator.de/forum/excel-problem-mit-wenn-dann-formel-fuer-eine-vertretungsregel-670232.html

Ausgedruckt am: 21.01.2025 um 07:01 Uhr

em-pie
em-pie 17.12.2024 um 10:11:39 Uhr
Goto Top
Moin,

Du brauchst UND()
Wenn B7 leer und C7 leer…
BN2023
BN2023 17.12.2024 aktualisiert um 11:33:40 Uhr
Goto Top
Hallo,

ja, mit UND habe ich schon mehrere Tests gemacht, aber es funktioniert so nicht.
Problem ist der Anfangszustand. Da sollen ja alle Felder leer sein und das "Leer" wird offenbar vorgezogen.

Es soll ja so sein:
  • beim Start der Datei alle Felder der Zeile leer. Da sage ich ja schon >> Wenn B7 leer, dann leer <<

  • wenn in Spalte A ein Name steht und der Code in Spalte B dazu passt (das wird ja über den Rest der Formel geprüft), dann soll das Ergebnis "OK" sein.

  • wenn in Spalte A und B nichts eingetragen wird, dann soll das Ergebnis "ohne" sein.

Ich kann daher jetzt nicht sagen >> Wenn B7 leer UND A7 leer, dann "ohne".
Du kannst aber gerne mal einen Beispielcode senden und ich teste den auch.

Viele Grüße,
BN
MirkoKR
MirkoKR 17.12.2024 um 11:40:48 Uhr
Goto Top
Versuch's mal mit
=WENN(ODER(ISTLEER(A7);ISTLEER(B7));"ohne";"")  
BN2023
BN2023 17.12.2024 um 11:50:07 Uhr
Goto Top
Danke Dir @MirkoKR
Aber dann steht auch als Anfangszustand in der Ergebnisspalte "ohne".
Genau das ist das Problem, welches ich auch immer hatte...

Viele Grüße,
BN
BN2023
BN2023 17.12.2024 um 11:57:56 Uhr
Goto Top
Korrektur:

Ich hatte den Leer-Zustand doppelt im Code gelassen. Den habe ich jetzt entfernt.
Mit dem jetzigen Code gibt es jedoch einen Fehler in Bezug auf die Klammern... ich finde irgendwie den Fehler nicht...

Hier mal der Code:

=WENN(ODER(ISTLEER(B13);ISTLEER(I13));"ohne";"");WENNFEHLER(SVERWEIS(B13&I13;WAHL({1.2};'\\Pfad zu einer anderen Datei\[Vertretung.xlsx]Codes'!$A$4:$A$25&'\\Pfad zu einer anderen Datei\[Vertretung.xlsx]Codes'!$B$4:$B$25;"OK");2;FALSCH);"Fehler")  

Habt Ihr ne Idee, wo hier eine Klammer fehlt etc.?

Viele Grüße,
BN
MirkoKR
MirkoKR 17.12.2024 aktualisiert um 12:00:46 Uhr
Goto Top
=WENN(A2="";"ohne";WENN(B2="";"ohne";"OK"))

P.S. Das KI-Widget für die Eingabe hier ist doof 🤪
Prompt: Deine Aufgabenstellung von oben ..
BN2023
BN2023 17.12.2024 aktualisiert um 12:19:51 Uhr
Goto Top
Habe den Klammerfehler gefunden und habe jetzt mal Deinen Code mit dem "ISTLEER" etc. getestet.
Dabei steht als Anfangszustand jetzt "OK".

Hier mal der jetzige Code:

=WENN(ODER(ISTLEER(A7);ISTLEER(B7);"ohne";"");WENNFEHLER(SVERWEIS(A7&B7;WAHL({1.2};'\\Pfad zu anderer Datei\[Vertretung.xlsx]Codes'!$A$4:$A$25&'\\Pfad zu anderer Datei\[Vertretung.xlsx]Codes'!$B$4:$B$25;"OK");2;FALSCH);"Fehler"))  

Viele Grüße,
BN
BN2023
BN2023 17.12.2024 um 15:28:04 Uhr
Goto Top
Hat noch jemand von Euch eine Idee, wie man das Problem lösen kann?

Viele Grüße,
BN
WinCobold
WinCobold 17.12.2024 um 21:25:37 Uhr
Goto Top
Hallo BN,

vielleicht solltest du uns erklären, was der Unterschied ist zwischen "alle Felder der Zeile leer" und "wenn in Spalte A und B nichts eingetragen wird". Woran soll Excel also erkennen, ob jetzt C7 leer sein oder "ohne" enthalten soll.

Gruß vom
WinCobold
MirkoKR
MirkoKR 18.12.2024 aktualisiert um 08:12:49 Uhr
Goto Top
Zitat von @BN2023:

Hat noch jemand von Euch eine Idee, wie man das Problem lösen kann?

Viele Grüße,
BN

Moin.

Man sollte meinen, anhand der bisher gelieferten Vorlagen und dem Tipp, einer KI, wie z.B. ChatGPT oder Gemini deine Aufgabenstellung zu definieren ...

... solltest du in der Lage sein, dir deine Formel schrittweise aufzubauen ...

Habe das mal für dich vorgemacht:

screenshot_20241218-081203

Die resultierende Formel ist:

=WENN(UND(A13="";B13="");"";WENN(B13<>""; WENN(B13=0;"B = 0";"B = " &B13);"A = "&A13))  

... wobei du die Ausgabe noch an deine Bedürfnisse anpassen musst.
😉
BN2023
BN2023 18.12.2024 aktualisiert um 13:50:11 Uhr
Goto Top
Hallo und danke für Deine Mühe.

Sorry, aber diese Formel macht überhaupt nicht das, was sie soll...

Sie schreibt ins Ergebnisfeld das, was ich in Spalte A eingetragen habe (was so ja überhaupt nicht sein soll) und ersetzt dies dann durch den Inhalt, den ich in Spalte B eintrage (was so ERST RECHT nicht sein soll, denn das ist der geheime Mitarbeitercode). Du hast es im Screenshot ja auch so dargestellt, dass diese Informationen ausgegeben werden.

Ein "ohne" taucht überhaupt nicht auf und bei dieser - mehr als unverständlichen und komplizierten - Formel ist mir auch nicht klar, wie ich diese ergänzen soll.

Im Grunde funktioniert meine ursprüngliche Formel ja perfekt!!
Das einzige Problem ist, dass ich in Spalte B (MA-Code) eine 0 (Null) eintragen muss, wenn im Ergebnisfeld "ohne" erscheinen soll. Da dieses Ergebnisfeld jedoch schon über einen Formelteil freigelassen wird >> WENN(B7="";""; << funktioniert das bisher nur, wenn ich im Code-Feld die 0 (Null) eintrage.

Excel sieht das natürlich so:
"Ich das Ergebnisfeld nicht gleichzeitig freilassen und "ohne" reinschreiben". Verstehen kann ich das ja auch. Aber ich hatte halt angenommen, das wäre ein eher einfach zu lösendes Problem face-wink
Scheint aber selbst mit KI schwierig zu sein...

Ansonsten lasse ich es halt mit dem Eintrag der 0 (Null). Die Kollegen haben sich eh schon dran gewöhnt.

Viele Grüße,
BN
MirkoKR
MirkoKR 18.12.2024 um 14:34:30 Uhr
Goto Top
Zitat von @BN2023:

Danke Dir @MirkoKR
Aber dann steht auch als Anfangszustand in der Ergebnisspalte "ohne".
Genau das ist das Problem, welches ich auch immer hatte...

Viele Grüße,
BN

Die Formel macht exact das, was du im TO vorgegeben hast ...


.. natürlich, nachdem du - wie erwähnt, die Bezugsfelder und Ausgabewerte nach deinem Bedarf angepasst hast:

=WENN(UND(B3="";C3="");"";WENN(B3<>""; WENN(C3="0";"0";"OK");"ohne"))  

1000040623

Nicht berücksichtigt ist, was du oben nicht angeführt hast: Zeile 7 und 8
MirkoKR
MirkoKR 18.12.2024 um 15:46:05 Uhr
Goto Top
Ich habe mir jetzt mal die Mühe gemacht und alle Möglichkeiten für ChatGPT als Prompt aufgelistet:


Ziel: Excel Formel mit den Bedingungen:
1. A = NULL und B = NULL dann C = NULL
2. A <> NULL und B = "Code" dann C = OK
3. A <> NULL und B = NULL dann C= "frei"
4. A <> NULL und B = 0 dann "ohne"
4. A <> NULL und B = NULL dann C = "frei"
5. A = NULL und B = 0 oder B = "Code" dann C = "Name?=

Bitte die Formel für das deutsche Excel mit WENN, UND, ODER und ";" als Trennzeichen ausgeben
Die Vorgabe für das deutsche Excel habe ich ergänzt, nachdem ChatGPT im ersten Versuch englische Begriffe und "," als Trennzeichen ausgab, was natürlich nicht funktionierte ...

Ich hoffe so passt es jetzt, sonst die Aufgabe angepasst an ChatGPT geben und das Ergebnis/Gelöst dann hier mitteilen 😉

Ergebnis (angepasst)
=WENN(UND(B3="";C3="");"";  
WENN(UND(B3<>"";C3="Code");"OK";  
WENN(UND(B3<>"";C3="");"frei";  
WENN(UND(B3<>"";C3=0);"ohne";  
WENN(UND(B3="";ODER(C3=0;C3="Code"));"Name?";"")))))  

Auch hier musst du wieder Felder und Ausgabewerte ("frei", "Name?", etc.) ggf. anpassen!

1000040625



Ergebnis von ChatGPT:

Hier ist die passende Excel-Formel für die Zelle C, basierend auf deinen Bedingungen:

=WENN(UND(A1="";B1="");"";
WENN(UND(A1<>"";B1="Code");"OK";
WENN(UND(A1<>"";B1="");"frei";
WENN(UND(A1<>"";B1=0);"ohne";
WENN(UND(A1="";ODER(B1=0;B1="Code"));"Name?";"")))))

Erklärung:

1. UND(A1="";B1=""): Wenn A und B leer sind, ist C leer.


2. UND(A1<>"";B1="Code"): Wenn A nicht leer ist und B "Code" ist, ist C "OK".


3. UND(A1<>"";B1=""): Wenn A nicht leer ist und B leer ist, ist C "frei".


4. UND(A1<>"";B1=0): Wenn A nicht leer ist und B 0 ist, ist C "ohne".


5. UND(A1="";ODER(B1=0;B1="Code")): Wenn A leer ist und B entweder 0 oder "Code" ist, ist C "Name?".
BN2023
BN2023 18.12.2024 aktualisiert um 17:13:16 Uhr
Goto Top
Danke Dir für die weitere Mühe.

Es ist ja unglaublich, welche Möglichkeiten es hier gibt face-wink

Wir haben hier jedoch wieder die 0 (Null), wodurch das Wort "ohne" im Ergebnis erscheint (Deine Nr. 4).
Damit funktioniert mein bisheriger Code ja auch. Aber ich suche ja eine Möglichkeit, dass "ohne" im Ergebnis erscheint, ohne dass ich im Code-Feld etwas eintragen muss.

Genau das ist ja mein Problem. Es gibt wohl keine Möglichkeit, für die Ergebniszelle 2 unterschiedliche Zustände zu beschreiben, ohne dass ein Eintrag erfolgt.
Deshalb hatte ich vorher ja die 0 (Null) eingetragen, damit in der Ergebniszelle das Wort "ohne" erscheint.

Schau dazu nochmal meinen bisherigen Code an:

WENN(B7="";"";WENN(B7=0;"ohne";WENNFEHLER(SVERWEIS(B17&I17;WAHL({1.2};'\\Pfad zur Abgleich-Datei\[Vertretung.xlsx]Codes'!$A$4:$A$25&'\\Pfad zur Abgleich-Datei\[Vertretung.xlsx]Codes'!$B$4:$B$25;"OK");2;FALSCH);"Fehler")))  

dabei kann B7=0 funktionieren, aber "B7="" nicht, da vorne ja schon steht WENN(B7="";""; <<

Viele Grüße,
BN
MirkoKR
MirkoKR 18.12.2024 um 17:16:53 Uhr
Goto Top
Naja, wenn für das Ergebnis keine 2 unterschiedliche Bedingungen von A : B gibt ...
... dann gibt es auch kein unterschiedliches Ergebnis.

Falls doch, beschreibe das mal an ChatGPT (meinen Prompt anpassen)