Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Countif -->nur wenn Zelle visible ist

Forumthread: Countif -->nur wenn Zelle visible ist

Countif -->nur wenn Zelle visible ist
06.05.2004 09:34:59
David
Hallo,
folgendes Problem. Ich lasse in einer Zelle mit Countif zählen.
Der Bereich auf den ich zugreife ist allerdings gefiltert und ich suche nun nach einer Möglichkeit die Countif-Funktion zu erweitert, dass sie nur in den Zellen zählt die sichtbar sind.(also quasi ein 2.Kriterium)
Habt ihr ideen?
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Countif -->nur wenn Zelle visible ist
Mac4
Hallo David,
das geht mit der Funktion Teilergebnis bzw. Subtotal
Marc
...aber wie?
06.05.2004 09:55:46
david
Mhm, das hatte ich mir auch schon gedacht, aber war mit der Umsetzung (insbesondere wegen der Eigenschaft(visible) )leider überfordert.
Hast Du eine ggf. ein Bsp für mich?
AW: ...aber wie?
Mac4
VBA oder Excel-Bordmittel?
Anzeige
AW: ...aber wie?
06.05.2004 10:06:43
david
wenn möglich "Excel-Bordmittel", also quasi die Funktion in der Zelle erweitern....
AW: ...aber wie?
06.05.2004 10:48:55
david
jo, ansich funktionert das wohl, NUR es löst nicht ganz mein Problem:
Ich will, dass Countif quasi das Wort "no" zählt und das nur, wenn die Zeile gefiltert (also sichtbar) ist. Die Filterung erfolgt nicht in der Spalte mit dem "no" sondern in einer ganz anderen Spalte.
Anzeige
GUT, aber ;-)
07.05.2004 12:25:30
david
Das funktioniert ausgezeichnet, danke.
Es löst jedoch nicht mein gesamtes Problem: Ich kann als Bereich kein Spalten oder so angeben (es werden immer Listen generiert, die sich aber unterscheiden und) alle nur diesen genannten Namensbereich gemeinsam haben.
Ich habe versucht die genannten Zellen durch mit dem Namen definierten Bereich zu ersetzten, nur leider ohne Erfolg! :-( Any Ideas?
Anzeige
AW: Countif -->nur wenn Zelle visible ist
IngoG
Hallo David,
versuchs mal so:
=sumproduct((subtotal(3,indirect("a"&row(a2:a100)))&gt0)*("dein Kriterium"))
"dein Kriterium" ersetzt Du zB durch b2:b100=999
Gruß Ingo
PS eine Rückmeldung wäre nett...
erläuterung
IngoG
Hallo nochmal,
bei der oben genannten Lösung muß allerdings darauf geachtet werden, dass die spalte a immer gefüllt ist (zumindest in den sichtbaren fällen)
ansonsten evt eine zusatzspalte erzeugen in die du immer einen wert zB 1 schreibst.
ansonsten liefert nämlich subtotal für eine zwar sichtbare zelle meines wissens trotzdem 0 zurück und die summe würde diese Zeile nicht berücksichtigen...
Gruß Ingo
Anzeige
AW: erläuterung
06.05.2004 10:59:50
david
mhm. Ich hab das Gefühl, dass dies mein Problem nicht recht löst, also nochmal etwas genauer...ich hab nämlich das Gefühl, dass ich es leider nicht genau genug formuliert habe :
Ich habe eine Tabelle. Diese wirst nach Spalte a gefiltert.
ein Namensbereich wird definiert. dieser Namensbereich nennen wir mal "Bereich", dieser Bereich ist z.B. in der Spalte F von Zeile 2 bis 560.
Ich hatte nun eine Countif-Funktion und lass hier in dem Namensbereich "Bereich" das Wort "no" zählen.
Nun der Zusatz welcher für mich entscheidend ist:
Countif zählt in dem Namensbereich "Bereich" leider auch die "no"s in Zeilen, die durch die Filterung ausgeblendet sind und demnach eigentlich keine Rolle spielen sollten, dadurch ist also das Ergebnis verfälscht.
Anzeige
genau so funzt es...
IngoG
Hall David,
genau das macht die funktion, du mußt sie nat anpassen...
=sumproduct((subtotal(3,indirect("a"&row(a2:a560)))&gt0)*(upcase(f2:f560)="NO"))
sollte funzen, wenn in a2:a560 immer etwas steht (ansonsten anderen Buchstaben wählen also zB indirect("c"&...
Probiers einfach mal aus
Gruß Ingo
PS eien Rückmeldung wäre nett...
Anzeige
Funktion funktioniert...ABER
07.05.2004 12:29:34
david
Das funktioniert ausgezeichnet, danke.
Es löst jedoch nicht mein gesamtes Problem: Ich kann keine Spalten oder Zeilen angeben, sondern nur den mit Namen definierten Bereich, nennen wir ihn "Bereich" der sich in Spalte x von Zeile 2 bis 545 erstreckt.
Ich kann leider nicht einfach die Spalte ersetzen, dann beschwert sich Excel ;-)
Any Ideas?
Anzeige
? hab ich nicht verstanden ?
IngoG
Hallo David,
hab das Problem nicht wirklich verstanden ;-)
vielleicht erklärst Du es noch einmal etwas detailierter, evt mit kleiner Beispieldatei...
Gruß Ingo
;
Anzeige

Infobox / Tutorial

Countif-Funktion nur für sichtbare Zellen verwenden


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Tabelle vorliegen und die Spalte, die gefiltert wird, klar definiert ist.
  2. Benannten Bereich erstellen: Definiere einen benannten Bereich für die Daten, die du zählen möchtest. Zum Beispiel: Markiere die Zellen in Spalte F von Zeile 2 bis 560 und benenne diesen Bereich "Bereich".
  3. Formel eingeben: Verwende die folgende Formel, um die Countif-Funktion auf sichtbare Zellen anzuwenden:

    =SUMPRODUCT((SUBTOTAL(3, INDIRECT("A"&ROW(Bereich)))>0)*(UPPER(Bereich)="NO"))
    • Hierbei wird SUBTOTAL(3, ...) verwendet, um nur die sichtbaren Zellen zu zählen. Der Vergleich mit "NO" stellt sicher, dass nur die gewünschten Werte gezählt werden.
  4. Anpassungen vornehmen: Falls deine Daten in anderen Spalten stehen oder die Struktur unterschiedlich ist, passe die Formel entsprechend an.

Häufige Fehler und Lösungen

  • Fehler: Countif not working in excel
    Wenn die Countif-Funktion nicht funktioniert, kann es daran liegen, dass die Zellen unsichtbar sind. Stelle sicher, dass du die SUBTOTAL-Funktion verwendest, um nur sichtbare Zellen zu berücksichtigen.

  • Fehler: Keine Ergebnisse
    Wenn du keine Ergebnisse erhältst, überprüfe, ob der benannte Bereich korrekt definiert ist und ob die Filterung in einer anderen Spalte aktiv ist.


Alternative Methoden

Wenn du die Countif-Funktion nicht verwenden möchtest, kannst du auch Excel VBA verwenden, um die Zellen zu zählen. Hier ein einfaches Beispiel:

Function CountVisibleNo() As Long
    Dim cell As Range
    Dim count As Long
    count = 0

    For Each cell In Range("Bereich")
        If cell.EntireRow.Hidden = False And UCase(cell.Value) = "NO" Then
            count = count + 1
        End If
    Next cell

    CountVisibleNo = count
End Function

Diese Funktion zählt die "NO"-Werte nur in sichtbaren Zeilen.


Praktische Beispiele

  1. Fallstudie: Angenommen, du hast eine Liste von Produkten in Spalte F und deren Status in Spalte A gefiltert. Verwende die oben genannte Formel, um zu zählen, wie viele Produkte den Status "NO" haben, während die anderen ausgeblendet sind.

  2. Dynamische Bereiche: Wenn dein Datenbereich dynamisch ist, kannst du die Formel so anpassen, dass sie automatisch die letzten Zeilen einbezieht.


Tipps für Profis

  • Verwende INDIRECT, um flexible Bereiche zu erstellen, die sich anpassen, wenn du Zeilen hinzufügst oder entfernst.
  • Teste deine Formeln in einer neuen Datei, um sicherzustellen, dass sie wie gewünscht funktionieren, bevor du sie in dein Hauptdokument überträgst.
  • Achte darauf, dass die Spalte, die in der SUBTOTAL-Funktion verwendet wird, immer gefüllt ist, um unerwartete Ergebnisse zu vermeiden.

FAQ: Häufige Fragen

1. Wie funktioniert die SUBTOTAL-Funktion?
Die SUBTOTAL-Funktion zählt nur die sichtbaren Zellen in einem Bereich. Sie wird häufig in Kombination mit Filterungen verwendet.

2. Kann ich die Formel auch für andere Kriterien anpassen?
Ja, ersetze einfach das Kriterium in der Formel, um nach anderen Werten zu filtern, z.B. UPPER(Bereich)="YES".

3. Was ist der Unterschied zwischen COUNTIF und SUMPRODUCT?
COUNTIF zählt die Zellen, die einem Kriterium entsprechen. Mit SUMPRODUCT kannst du komplexere Bedingungen, wie Sichtbarkeit, kombinieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige