Met =SUBTOTAAL(2;range) tel je het aantal zichtbare waarden in de range.
Kijk eens in de Help voor de andere mogelijkheden van deze functie.
Ingrid
Stien schreef in news:01a101c2ad92$a48204d0$89f82ecf@TK2MSFTNGXA01
> Ik zoek een formule voor het volgende:
> Ik gebruik heel veel de autofilter. Als ik gefilterd heb
> wil ik kunnen tellen hoeveel gevulde cellen erboven staan.
> zie bijlage De formule 'aantal' werkt zolang je niet
> filtert. Wie weet hier een oplossing voor??
Stien
>.
>
=SOM(ALS(INTERVAL((D2:D23="jan")*B2:B23;(D2:D23="jan")*B2:B23)>0;1;0))-1
Ingrid
Stien schreef in news:06a901c2ad9a$307de100$d2f82ecf@TK2MSFTNGXA09
Ingrid
Pieter Kuyck schreef in news:uTHPl3arCHA.2504@TK2MSFTNGP12
> Ingrid,
>
> En kan dit ook werken met een -dynamische- filter oftewel zonder de
> filtercriteria op te nemen in de werkbladfunctie?
>
> Pieter
> "Ingrid Baplue" <ingrid_bap...@hotmail.com> wrote in message
> news:auhkk3$7bsr0$1...@ID-164731.news.dfncis.de...
Volgens mij kan dit alleen via VBA opgelost worden,
Plaats de onderstaande code in een module
Option Explicit
Function Tellen(bereik As Range) As Long
Dim c As Range
Dim t As Long
Dim s As String
t = 0
s = ""
For Each c In bereik.Rows
If Not c.Hidden And InStr(1, s, c.Text & Chr(255)) = 0 Then
s = s + c.Text & Chr(255)
t = t + 1
End If
Next
Tellen = t
End Function
Hierna heb je werkbladfunctie die het aantal zichtbare unieke cellen telt
In jou voorbeeld
in Cel B30
=Tellen(B2:B24)
alles zichtbaar -> 13
alleen Piet -> 7
alleen Jef -> 8
enz
Pieter
"Stien" <St...@fitopia.be> wrote in message news:06a901c2ad9a$307de100$d2f82ecf@TK2MSFTNGXA09...
En kan dit ook werken met een -dynamische- filter oftewel zonder de filtercriteria op te nemen in de werkbladfunctie?
Pieter
"Ingrid Baplue" <ingrid_bap...@hotmail.com> wrote in message news:auhkk3$7bsr0$1...@ID-164731.news.dfncis.de...
>.
>
>.
>
Nadien kan je de functie in je werkblad invoeren zoals Pieter reeds
vermelde:
=Tellen(B2:B24)
Een uitgewerkt voorbeeld staat op:
http://users.pandora.be/ingrid/ng/formule.xls
Ingrid
stien schreef in news:03ca01c2adb5$7f11e440$8df82ecf@TK2MSFTNGXA02
Via Invoegen>Naam de volgende twee namen definieren
Het bereik met de datums (zonder de kop) als DatumBereik
en DBFilter
=ALS(SUBTOTAAL(3;VERSCHUIVING(DatumBereik;RIJ(DatumBereik)-MIN(RIJ(DatumBereik));;1));DatumBereik;"")
Het aantal unieke records in de gefilterde lijst wordt dan;
=SOM(N(ALS(ISFOUT(VERGELIJKEN("";DBFilter;0));VERGELIJKEN(DatumBereik;DatumBereik;0);ALS(VERGELIJKEN(DBFilter;DBFilter;0
)=VERGELIJKEN("";DBFilter;0);0;VERGELIJKEN(DBFilter;DBFilter;0)))=RIJ(DatumBereik)-MIN(RIJ(DatumBereik))+1))
zie voorbeeld; http://members.chello.nl/p.kuyck/formule.xls
Het in typen van de VBA functie is sneller, maar het kan ook zonder VBA met uitsluitend werkbladfuncties
Pieter
"Ingrid Baplue" <ingrid_bap...@hotmail.com> wrote in message news:auhm0b$73ssh$1...@ID-164731.news.dfncis.de...
in dit geval niet werken met SOM maar met SUBTOTAAL.
functiegetal 2 toevoegen en het werkt.
=SUBTOTAAL(2;B2:B24)
succes,
pim.