Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zählenwenn in einer virtuellen Spalte

Zählenwenn in einer virtuellen Spalte
06.04.2006 18:39:36
Arthur
Hallo.
Ohne eine zusätzliche Spalte aufzunehmen möchte ich eine Zählenwenn-Funktion einsetzen.
Grundlage:
Ich habe ein Export von Projektdaten, darunter auch die Ampelstellungen für Teilbereiche. Die Projekte sind in den Zeilen abgelegt. Nicht vorhanden ist die Gesamtfarbe des Projektes. Die Anzahl der Projekte variiert.
Diese Exportliste soll per Verweis angesprochen und nicht verändert werden.
Aufgabe:
Sobald ein Teilbereich "Rot" gemeldet wird, ist das Projekt "Rot".
Sobald ein Teilbereich "Gelb" gemeldet wird, ist das Projekt "Gelb".
Ansonsten ist das Projekt "Grün".
Die Formel hierfür kann über "Wenn.../ Zählewenn..." realisiert werden.
Problem:
Die Anzahl Rot/Gelb/Grün in den Teilbereichen (Spalten) kann ich leicht mit bspw. =ZÄHLENWENN(Spalte;"Rot") ermitteln. Mit welcher Formel kann ich innerhalb einer Zelle zuerst den Gesamtstatus entsprechen der Formel s.o. ermitteln und als Ergebnis dann nur die Anzahl der "Roten" Projekte ausgeben. In der nächsten Zellen dann die "Gelben". Gleiche für "Grün".
Die Formel müsste pro Zeile in einem Bereich zuerst eine Zwischensumme bilden und danach die Anzahl des Projektstatus "Rot"/"Gelb"/"Grün" in der Zwischensumme zählen.
Beispiel:
Tabelle
Projekt1 - Y - G - G - G
Projekt2 - Y - G - R - G
Projekt3 - G - G - G - G
Projekt4 - G - Y - G - G
Projekt5 - G - G - G - G
Ergebnis sollte sein:
Virtuelles Zwischenergebnis:
Projekt1="Y"; Projekt2="R";Projekt3="G";Projekt4="Y";Projekt5="G")
Endergebnis
Anzahl roter Projekte: 1
Anzahl gelb Projekte: 2
Anzahl grün Projekte: 2
War viel zu lesen, sorry. Dennoch hoffe ich auf eine Antwort.
Thanks
-Arthur

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zählenwenn in einer virtuellen Spalte
06.04.2006 19:42:06
{Boris}
Hi Arthur,
ist schon ein bissl wirr Deine Beschreibung, zumal du was von rot/gelb/grün erzählst, deine Kürzel aber R/Y/G (red, yellow, green) sind (denke ich zumindest).
Nehmen wir an, Deine Beispieltabelle steht in A1:E5 (die - wegdenken):
Projekt1 - Y - G - G - G
Projekt2 - Y - G - R - G
Projekt3 - G - G - G - G
Projekt4 - G - Y - G - G
Projekt5 - G - G - G - G

Weiter nehme ich an, dass nach einem R niemals wieder ein Y kommen kann (nur wieder ein G wie Green). Also: Sobald irgendwo ein "R" vorkommt: ROT
Sobald irgendwo ein "Y" vorkommt (aber danach kein "R": GELB), ansonsten GRÜN.
Wenn dem so ist, dann für "R":
=SUMMENPRODUKT(N(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1:E$1;ZEILE($1:$5)-1;;;);"R")>0))
Für "Y":
=SUMMENPRODUKT((ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1:E$1;ZEILE($1:$5)-1;;;);"Y")>0)*(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1:E$1;ZEILE($1:$5)-1;;;);"R")=0))
Für "G":
=SUMMENPRODUKT(N(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1:E$1;ZEILE($1:$5)-1;;;);G3)=4))
Wenn´s anders gemeint ist, dann bitte mit kleiner Beispieltabelle und exakter Erläuterung.
Grüße Boris
Anzeige
Korrektur für die "G"-Formel
06.04.2006 19:45:02
{Boris}
Hi,
da hatte ich den Zellbezug G3 nicht durch die Konstante "G" ersetzt. So is richtig:
=SUMMENPRODUKT(N(ZÄHLENWENN(BEREICH.VERSCHIEBEN(B$1:E$1;ZEILE($1:$5)-1;;;);"G")=4))
Grüße Boris
Klappt.
06.04.2006 20:03:23
Arthur
Hallo Boris.
Das klappt. Weiß noch nicht warum, muss die Formel erst einmal genau ansehen, verstehen und dann verinnerlichen. Aber sie funktioniert.
Danke schön.
-Arthur
Zusatzfrage
Arthur
Nochmals Hallo.
Die Formel auf dem selben Blatt hat funktioniert. Mein Bezug sollte ein benannter Bereich sein und liegt auf einem zweiten Tabellenblatt. Hier kann ich die Formel nicht umstellen; heißt, es kommt das falsche Ergebnis heraus.
Bsp. für Grün:
=SUMMENPRODUKT(N(ZÄHLENWENN(BEREICH.VERSCHIEBEN(Values;ZEILE(Values)-1;;;);"G")=4))
wobei "Values" der Name des Bereiches ist.
Wo liegt mein Fehler?
-Arthur
Anzeige
Keine Ahnung...
06.04.2006 20:35:41
{Boris}
Hi Arthur,
...wo der Fehler liegt - zumindest so lange nicht, wie du mir nicht verrätst, worauf sich deine Bereich "Values" bezieht. Auf jeden Fall geht ZEILE(Values) schon mal gar nicht. In der Ursprungsformel ist B1:E1 nur die erste Zeile des Bereiches - und das muss auch so bleiben. Aber was soll ich lange rätseln:
Lad doch mal schnell ne Beispielmappe mit deinem exakten Tabellenaufbau hoch.
Grüße Boris
Habe den Fehler entdeckt
07.04.2006 09:34:18
Arthur
Hallo Boris.
Am frühen Morgen, mit einer frischen Tasse Kaffee, denkt es sich etwas leichter. Ich habe mir den Formelteil mit dem "Bereich.Verschieben(..." nochmals angesehen. Und dabei ist mir der Fehler aufgefallen. "Values" ist bei mir der Bereich der Zellen mit R,Y,G. Als Bereichsangabe für die Formel ist die ok. Nur das Äquivalent zu B1:E1 aus deinem Beispiel ist nicht dieser gesamte Bereich, sondern nur die erste Zeile daraus. Schon klappt es.
Die "-1" habe ich noch nicht verstanden. Vielleicht komme ich ja noch drauf. Da die Formel bei mir die erste Spalte nicht berücksichtigt, vermute ich hängt dies mit der "-1" zusammen.
Mit "Bereich.Verschieben" hatte ich mich noch nicht beschäftigt, werde es in zukunft jedoch wohl öfter tun.
Vielen Dank nochmals.
-Arthur
Anzeige
-1
07.04.2006 12:48:43
{Boris}
Hi Arthur,
ZEILE($1:$5)-1 verschiebt nacheinander den Bereich B1:E1 um jeweils 1 Zeile (bis 5). Ich muss aber B1:E1 auch berücksichtigen und brauch deshalb eine Veschiebung von Null bis 4 (eigentlich ZEILE($0:$4) ). Da das nicht geht, macht man das halt von 1 bis 5 und zieht wieder 1 ab.
Grüße Boris

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige