Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

autofilter en tellen

628 views
Skip to first unread message

Ingrid Baplue

unread,
Dec 27, 2002, 5:42:50 AM12/27/02
to
Daarvoor kan je de functie SUBTOTAAL gebruiken.

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

unread,
Dec 27, 2002, 6:22:06 AM12/27/02
to
Ingrid,
Al hartelijk bedankt maar dit werkt nog niet 100%. Het
betreft nl een loonlijst en in mijn cellen staat soms 2x
dezelfde datum en die mag ik dus maar 1x tellen. Heb je
daar nog een superoplossing voor?
groetjes,

Stien

>.
>

Ingrid Baplue

unread,
Dec 27, 2002, 8:28:14 AM12/27/02
to
Volgende formule telt het aantal unieke datums voor "jan"

=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 Baplue

unread,
Dec 27, 2002, 8:53:23 AM12/27/02
to
Nee, de filtergegevens (maw de naam) wordt in de functie opgenomen. Ik had
even niet aan VBA gedacht.

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...

Pieter Kuyck

unread,
Dec 27, 2002, 8:35:28 AM12/27/02
to
Stien

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...

Pieter Kuyck

unread,
Dec 27, 2002, 8:43:27 AM12/27/02
to
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...

stien

unread,
Dec 27, 2002, 9:37:35 AM12/27/02
to
Pieter,

Van VBA (Visual Basic?) ken ik niets. Dus je zal me iets
duidelijker moeten vertellen hoe ik daar aan begin.
Alvast bedankt.
Stien

>.
>

stien

unread,
Dec 27, 2002, 9:37:45 AM12/27/02
to
Pieter,

Van VBA (Visual Basic?) ken ik niets. Dus je zal me iets
duidelijker moeten vertellen hoe ik daar aan begin.
Alvast bedankt.
Stien

>.
>

Ingrid Baplue

unread,
Dec 27, 2002, 10:50:13 AM12/27/02
to
Een functie moet steeds in een module staan. Hoe je daarvoor te werk gaat
kan je hier lezen:
http://users.pandora.be/ingrid/excel/copyvba.htm#module

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

Pieter Kuyck

unread,
Dec 27, 2002, 3:35:37 PM12/27/02
to
En jawel, met een beetje zoeken toch gevonden, tellen van unieke records op een gefilterde tabel..
(door Tom Ogilvy, zie uitleg http://j-walk.com/ss/excel/eee/eee020.txt)

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...

pim

unread,
Dec 28, 2002, 6:42:28 PM12/28/02
to

"Stien" <St...@fitopia.be> schreef in bericht
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??

in dit geval niet werken met SOM maar met SUBTOTAAL.
functiegetal 2 toevoegen en het werkt.
=SUBTOTAAL(2;B2:B24)

succes,
pim.

0 new messages