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

Autofilter und ZählenWenn/Häufigkeit (2)

Forumthread: Autofilter und ZählenWenn/Häufigkeit (2)

Autofilter und ZählenWenn/Häufigkeit (2)
10.02.2003 14:53:26
J. Gareis
Hallo zusammen,
für die Auswertung einer Befragung suche ich eine Möglichkeit in einer Liste, in der der AutoFilter für eine Spalte
(z.B. in Spalte B auf "2") gesetzt ist, die Häufigkeit der Einträge in den restlichen Spalten auszuwerten,
also z.B.: wie oft kommen die Werte 1 bis 4 in der Spalte C vor?

Leider gibt es innerhalb der TEILERGEBNIS-Funktion kein Bedingtes Zählen, und die Funktionen ZÄHLENWENN und HÄUFIGKEIT beziehen sich auf den gesamten Spaltenbereich, ignorieren also den Filter.

Auch der Versuch, eine Benutzerdefinierte Funktion zu schreiben, die nur die sichtbaren Zellen berücksichtigt, ist gescheitert: Wenn die Funktion sich auf einen sichtbaren Bereich wie QBereich.SpecialCells(xlCellTypeVisible) bezieht und dann im Tabellenblatt verwendet wird, wird grundsätzlich der komplette QBereich ausgewertet und der Filter bleibt außen vor.

Wird die Funktion allerdings im Debug-Fenster aufgerufen, klappt alles wie erwartet.

Hier das Beispiel zum Testen:
(QBereich ist der Bezug auf die gefilterte Spalte)

Function Zähltest(Bereich As Range) As Integer
Debug.Print QBereich.SpecialCells(xlCellTypeVisible).Address
Zähltest =QBereich.SpecialCells(xlCellTypeVisible).Count
End Function

Wer kann mir hier weiterhelfen?


Josef



Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Autofilter und ZählenWenn/Häufigkeit (2)
10.02.2003 18:23:13
Panicman

Hallo Josef,

von VBA habe ich keine Ahnung, aber Zählenwenn mit 2 Bedingungen geht so:
1. Bedingung =Autofilter (SpalteB auf 2)
2. Bedingung Werte von 1-4 = kleiner 5
=SUMMENPRODUKT((B1:B100=2)*(C1:C100<5))
ist um noch mehr Kriterien erweiterbar

Tschüß
Holger

Anzeige
;

Forumthreads zu verwandten Themen

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige