Clever-Excel-Forum

Normale Version: WENN UND ODER Verknüpfung möglich?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe Leute,

Ich benutze für ein großes Spreadsheet eine WENN(UND abfrage. Allerdings wird die Abfrage irgendwann viel zu groß. Leider bekomme ich es selber nicht hin, die Formel etwas schlanker darzustellen.

Daher meine Frage: Kann man eine WENN(UND(ODER Formel bauen um die schachtelung zu verschlanken?

ich habe folgende Formel:
=WENN(UND(Z$2<=$I7;Z$2>$F7);"Z";WENN(UND(Z$2>=$R7;Z$2<$O7);"B";WENN(UND(Z$2>=$U7;Z$2<$R7);"A";WENN(UND(Z$2<=$J7;Z$2>$G7);"Z";WENN(UND(Z$2>=$S7;Z$2<$P7);"B";WENN(UND(Z$2>=$V7;Z$2<$S7);"A";WENN(UND(Z$2<=$K7;Z$2>$H7);"Z";WENN(UND(Z$2>=$T7;Z$2<$Q7);"B";WENN(UND(Z$2>=$W7;Z$2<$T7);"A";"")))))))))))

ich hätte gerne iwas in die Richtung:

=WENN(UND(...;...)ODER(...;...)ODER(...;...);"Z";WENN(UND(...;...)ODER(...;...)ODER(...;...);"A";WENN(UND(...;...)ODER(...;...)ODER(...;...);"B";"")

Ich würde mich total freuen, fall meine aktuelle Formel etwas eleganter werden würde da ich sonst an die Verschachtelungsgrenze bei Excel stoße.

Viele Grüße,
Markus
Hola,

erklär mal dein Vorhaben inkl. einer Beispieldatei bitte.

Gruß,
steve1da
Bei so vielen Verschachtelungen hattest Du den Vorteil einer hierarchischen Abarbeitung.

=
WENN(UND(Z$2<=$I7;Z$2>$F7);"Z";
WENN(UND(Z$2>=$R7;Z$2<$O7);"B";
WENN(UND(Z$2>=$U7;Z$2<$R7);"A";
WENN(UND(Z$2<=$J7;Z$2>$G7);"Z";
WENN(UND(Z$2>=$S7;Z$2<$P7);"B";
WENN(UND(Z$2>=$V7;Z$2<$S7);"A";
WENN(UND(Z$2<=$K7;Z$2>$H7);"Z";
WENN(UND(Z$2>=$T7;Z$2<$Q7);"B";
WENN(UND(Z$2>=$W7;Z$2<$T7);"A";"")))))))))))

Die verlierst Du nun, und die Formel könnte andere Ergebnisse bringen:

{=
WENN(ODER(UND(Z$2<=$I7:$K7;Z$2>$F7:$H7));"Z";"")&
WENN(ODER(UND(Z$2>=$R7:$T7;Z$2<$O7:$Q7));"B";"")&
WENN(ODER(UND(Z$2>=$U7:$W7;Z$2<$R7:$T7));"A";"")
} ungetestet mit Nr. 5
Hallo,

ich glaube, dass könnte reichen:


Code:
=WENN((Z2>MIN(F7:H7))*(Z2<=MAX(I7:K7));"Z";WENN((Z2>MIN(R7:T7))*(Z2<=MAX(O7:Q7));"B";WENN((Z2>MIN(U7:W7))*(Z2<=MAX(R7:T7));"A";"")))


Sinnvoll wäre es, wenn man wüßte, was in den Zellen für Werte stehen!
Hallo Leute,

im Anhang findet Ihr die Logik in Excel:

kurze Erläuterung:

Die Werte SOP und Z sind fest. Die werte A, B, C und D können % verkürzt werden indem man die Werte in Spalte B bis E, Zeile 7-10 Anpasst. Zudem ist der SOP abstand imm konstant und kann in Zelle C1 definiert werden. Die restliche Logik ergibt sich aus Rohdaten.

Mein Ziel wäre es, die Formel in AA1 zu verschlanken, da ich für meine eigentliche Arbeit noch deutlich mehr Abfragen und Abhänigkeiten habe. Da wird die Formel dann schnell 10 Zeilen ++ lang und sieht sehr unschön aus.


Viele Grüße,
Markus
Hallo Markus

Ist das nicht das selbe Thema wie hier?
Hallo Detlef,

ist die gleiche Tabelle, aber leicht andere Vorgaben.

@Markus,

diese Formel in Z7 und nach rechts/unten ziehen, für leere Zeilen noch eine Abfrage drum:


Code:
=WENN(MIN($F7:$W7)>Z$2;"";WENN((ZÄHLENWENN(INDEX($Y7:$CS7;KÜRZEN((Z$2-1)/24;)*24+1):Y7;"SOP")=1)*(INDEX($F7:$W7;(KÜRZEN((Z$2-1)/24;)+1)*6)>=Z$2);"Z";WAHL(REST(VERGLEICH(Z$2;$F7:$W7;1)-1;6)+1;"A";"B";"C";"D";"SOP";"")))
Hallo,

habe noch einen Fehler festgestellt. Hier die Korrektur:


Code:
=WENN($D7="";"";WENN(MIN($F7:$W7)>Z$2;"";WENN((ZÄHLENWENN(INDEX($Y7:$CS7;KÜRZEN((Z$2-1)/24;)*24+1):Y7;"SOP")=1)*(INDEX($F7:$W7;(KÜRZEN((Z$2-1)/24;)+1)*6)>=Z$2);"Z";WAHL(REST(VERGLEICH(Z$2-(MIN($F7:$W7)=0);$F7:$W7;1)-1;6)+1;"A";"B";"C";"D";"SOP";""))))
angepaßt auf Länge SOP in B1:

Code:
=WENN($D7="";"";WENN(MIN($F7:$W7)>Z$2;"";WENN((ZÄHLENWENN(INDEX($Y7:$CS7;KÜRZEN((Z$2-1)/($B$1-1);)*($B$1-1)+1):Y7;"SOP")=1)*(INDEX($F7:$W7;(KÜRZEN((Z$2-1)/($B$1-1);)+1)*6)>=Z$2);"Z";WAHL(REST(VERGLEICH(Z$2-(MIN($F7:$W7)=0);$F7:$W7;1)-1;6)+1;"A";"B";"C";"D";"SOP";""))))


Eins habe ich ganz vergessen, ich habe die Reihenfolge Deiner Spalten verändert, sonst funktioniert das nicht:



Arbeitsblatt mit dem Namen 'Tabelle1'
 FGHIJKLMNOPQRSTUVW
5Beginn A1Beginn B1Beginn C1Beginn D1SOP 1Ende Z1Beginn A2Beginn B2Beginn C2Beginn D2SOP 2Ende Z2Beginn A3Beginn B3Beginn C3Beginn D3SOP 3Ende Z3
6                  
72610141820263034384244505458626668
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
(08.03.2017, 09:09)Hallo lieber Opa Edgar,ich werde mir deinen Vorschlag direkt mal anschauen und sobald ich verstanden habe was dir Formel macht, werde ich die Logik anwenden ;) schrieb: [ -> ]Danke Dir!!

VG,
Markus

BoskoBiatiHallo,

habe noch einen Fehler festgestellt. Hier die Korrektur:


Code:
=WENN($D7="";"";WENN(MIN($F7:$W7)>Z$2;"";WENN((ZÄHLENWENN(INDEX($Y7:$CS7;KÜRZEN((Z$2-1)/24;)*24+1):Y7;"SOP")=1)*(INDEX($F7:$W7;(KÜRZEN((Z$2-1)/24;)+1)*6)>=Z$2);"Z";WAHL(REST(VERGLEICH(Z$2-(MIN($F7:$W7)=0);$F7:$W7;1)-1;6)+1;"A";"B";"C";"D";"SOP";""))))
angepaßt auf Länge SOP in B1:

Code:
=WENN($D7="";"";WENN(MIN($F7:$W7)>Z$2;"";WENN((ZÄHLENWENN(INDEX($Y7:$CS7;KÜRZEN((Z$2-1)/($B$1-1);)*($B$1-1)+1):Y7;"SOP")=1)*(INDEX($F7:$W7;(KÜRZEN((Z$2-1)/($B$1-1);)+1)*6)>=Z$2);"Z";WAHL(REST(VERGLEICH(Z$2-(MIN($F7:$W7)=0);$F7:$W7;1)-1;6)+1;"A";"B";"C";"D";"SOP";""))))


Eins habe ich ganz vergessen, ich habe die Reihenfolge Deiner Spalten verändert, sonst funktioniert das nicht:



Arbeitsblatt mit dem Namen 'Tabelle1'
 FGHIJKLMNOPQRSTUVW
5Beginn A1Beginn B1Beginn C1Beginn D1SOP 1Ende Z1Beginn A2Beginn B2Beginn C2Beginn D2SOP 2Ende Z2Beginn A3Beginn B3Beginn C3Beginn D3SOP 3Ende Z3
6                  
72610141820263034384244505458626668
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg
Hallo Lieber Opa E ;)

Die Formel funktoniert klasse und ist deutlich schlanker als meine.
Kannst du mir mal in Worten beschreiben weshalb die Formel jetzt genau erkennt in welche Zeile welcher Wert muss, damit ich mir zukünftig vielleicht selber helfen kann.

VG,
Markus