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.

WENN UND ODER Verknüpfung möglich?
#1
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
Antworten Top
#2
Hola,

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

Gruß,
steve1da
Antworten Top
#3
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
Antworten Top
#4
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!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#5
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


Angehängte Dateien
.xlsx   Logik 4.0.xlsx (Größe: 35,26 KB / Downloads: 7)
Antworten Top
#6
Hallo Markus

Ist das nicht das selbe Thema wie hier?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#7
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";"")))
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#8
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
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
[-] Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • MarkusZ
Antworten Top
#9
(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
Antworten Top
#10
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
Antworten Top


Gehe zu:


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