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.

Zeilenweiser Test auf Bedingungen
#1
Hallo zusammen, ich denke (und googele…) seit einigen Tagen auf einem Excel-Problem herum, bezüglich dessen ich mir allmählich eingestehen muss, mit meinem bescheidenen Know-How nicht weiter zu kommen. Ich habe bereits einiges ausprobiert und diesen schönen Ort durchsucht, aber der Durchbruch will nicht gelingen. 

Folgendes Problem: ich habe ein Tabellenblatt mit ca. 500 befüllten Zeilen (Zeilen 4 bis 525). Der Großteil ist als kalendarische Übersicht formatiert und beinhaltet in jeder zweiten Spalte eine gewisse Menge von „x“-Zeichen. Die Spalten dazwischen enthalten ein „Y“. „x“ kann pro Woche und Zeile nur einmal vorkommen (aber unbeschränkt oft pro Spalte), „Y“ theoretisch öfter (ebenfalls unbeschränkt oft pro Spalte). Außer x, Y und leeren Zellen sollte es in dem Bereich keine Inhalte geben. Die Zählung von „x“ und „Y“ in Tages- und Wochenintervallen funktioniert gut. 

Über aufwendige Summenprodukt-Konstruktionen konnte auch die Anzahl der „x“-und-„Y“-Paare für den Regelfall, wenn jede Zeile also höchstens genau ein „x“ und ein „Y“ enthält, ermittelt werden. Außerhalb des Regelfalls wird die Multiplikation (1*1) beim Summenprodukt aber natürlich verheerend. Der Regelfall wird allerdings häufiger verletzt, sodass es zu zwei „Y“ in einer Zeile kommt – hier soll Excel aber weiterhin nur prüfen, ob „x“ und „Y“ gemeinsam in einer Zeile vorkommen und entweder 0 (wenn sie nicht zusammen vorkommen) oder MAXIMAL 1 zählen (wenn sie zusammen vorkommen, unabhängig davon ob „Y“ mehrfach auftaucht), dann die nächste Zeile prüfen, etc und diese Zählung in einem Wert (statt einer Liste) zurückgeben, der Aufschluss über die Zahl der Fälle gibt, wie oft X und Y zusammen in einer Zeile (im Bereich M-Z einer Zeile) vorkommen. 

Im abgebildeten Fall wäre die korrekte Zählung also 11. Und hieran scheitere ich. Versucht habe ich es u.a. hiermit: (Auszug für „x“ in Spalte M), analog natürlich mit O, Q, S, U und W. 
=SUMMENPRODUKT(($M$4:$M$525="x")*($N$4:$N$525="Y"))+WENN(($N$4:$N$525="Y");0;SUMMENPRODUKT(($M$4:$M$525="x")*($P$4:$P$525="Y")))+WENN(ODER($N$4:$N$525="Y";$P$4:$P$525="Y");0;SUMMENPRODUKT(($M$4:$M$525="x")*($R$4:$R$525="Y")))+WENN(ODER($N$4:$N$525="Y";$P$4:$P$525="Y";$R$4:$R$525="Y");0;SUMMENPRODUKT(($M$4:$M$525="x")*($T$4:$T$525="Y")))+WENN(ODER($N$4:$N$525="Y";$P$4:$P$525="Y";$R$4:$R$525="Y";$T$4:$T$525="Y");0;SUMMENPRODUKT(($M$4:$M$525="x") *($V$4:$V$525="Y")))+WENN(ODER($N$4:$N$525="Y";$P$4:$P$525="Y";$R$4:$R$525="Y";$T$4:$T$525="Y";$V$4:$V$525="Y");0;SUMMENPRODUKT(($M$4:$M$525="x")*($X$4:$X$525="Y"))) 

Doch wenn irgendwo in Spalte N oder P ein „Y“ vorkommt, prüft Excel nicht länger die Zeilen, in denen „Y“ erst in Spalte T auftaucht. Ich glaube mein Problem liegt darin Excel zu erklären, dass gerne eine zeilenweise Überprüfung der Bedingung haben möchte. Ich habe es außerdem mit mehreren (Min(1-Konstruktionen probiert, aber auch das hat nicht zum Erfolg geführt). 

Ich hoffe es gibt hier einen Experten, der mir mit diesem Problem helfen kann. Vielen Dank im Voraus!


Angehängte Dateien Thumbnail(s)
   

.xlsx   Beispieldatei.xlsx (Größe: 10,3 KB / Downloads: 6)
Antworten Top
#2
Hi,

löse das mit einer Hilfsspalte mit Hilfe der Formel

=WENNFEHLER((VERGLEICH("x";M5:X5;0)>0)*(VERGLEICH("Y";M5:X5;0)>0);"")

Ziehe diese über den Bereich und summiere die Hilfsspalte

VG Juvee
Antworten Top
#3
Watt machst Du denn hier, Juvee?  19
Herzlich willkommen!
Thumps_up
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Smile 
Hi Ralph,

es juckt halt noch ab und zu in den Fingern Blush 

und dieses Forum ist mMn die beste Alternative zu OL

ich bin ja auch nicht der einzige der ehemaligen Helfer von OL

ich bleibe aber alten Formeln und VBA treu, mit dem neumodischen Krams bin ich ( noch ) auf Kriegsfuss

VG Juvee
[-] Folgende(r) 2 Nutzer sagen Danke an juvee für diesen Beitrag:
  • Klaus-Dieter, schauan
Antworten Top
#5
Hi,

statt mit VERGLEICH würde ich da aber eher mit ZÄHLENWENN arbeiten, da braucht es kein Wennfehler.


Code:
=--(ZÄHLENWENN(M4:W4;"x")*ZÄHLENWENN(N4:X4;"y")>0)

am Ende eine Summe bilden.

Hiermit:

Code:
=ZÄHLENWENN(M4:W4;"x")*ZÄHLENWENN(N4:X4;"y")>0

am Ende mit
Code:
ZÄHLENWENN(Y4:Y525;WAHR)

die Anzahl ermitteln


Außerdem denke ich, dass das eine schöne Aufgabe für unsere LAMBDA-Spezis wäre.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#6
=SUMME(--NACHZEILE(M4:X20;LAMBDA(a;TEXTKETTE(a)<WECHSELN(TEXTKETTE(a);"xY";"zZ"))))
=SUMME(--NACHZEILE(M4:X20;LAMBDA(a;ISTZAHL(SUCHEN("xY";TEXTKETTE(a))))))


Antikexcel:
=SUMMENPRODUKT(--(
ZÄHLENWENN(BEREICH.VERSCHIEBEN(M3:X3;ZEILE(1:17););"x")*
ZÄHLENWENN(BEREICH.VERSCHIEBEN(M3:X3;ZEILE(1:17););"Y")>0))
Antworten Top


Gehe zu:


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