Avatar billede And_L Novice
10. september 2018 - 10:20 Der er 4 kommentarer

Tæl unikke antal forekomster med et kriterie

Hej

Jeg sidder med en excel-udfordring, som jeg ikke har været i stand til at finde en løsning på endnu. Jeg har en datamatrix, som skal tælle antallet af unikke foreninger/aktiviteter. Nogle forening har flere aktiviteter, og de skal derfor tælle for hver aktivitet – altså tælle 2, hvis de har to aktiviteter, eller tælle 3, hvis de har tre aktiviteter. Samtidig er dataene også sorteret efter om foreningerne har medlemmer under og/eller over 40 år.

I en kolonne har jeg foreningens navn (A), i en anden har jeg aktiviteten (B), i en tredje har om foreningen har medlemmer under og/eller over 40 år (C), og i den sidste kolonne har jeg samlet aktivitet og foreningsnavn (D), som jeg har anvendt til at tælle det samlede antal unikke foreninger/aktiviteter med denne formel:
=SUM(HVIS(FREKVENS(SAMMENLIGN(’Ark1’!D:D;’Ark1’!D:D;0);SAMMENLIGN(’Ark1’!D:D;’Ark1’!D:D;0))>0;1))

I et andet ark har jeg min matrix, hvor der findes en kolonne med aktiviteterne, og en kolonne hvor jeg gerne vil have det samlede unikke antal: Hvor mange foreninger har aktivitet 01, aktivitet 02 og aktivitet 03. Kolonne B i ark 2 er altså den kolonne, som jeg ønsker mig en formel til.

ARK 1 (Data):
Foreningsnavn (A) | Aktivitet(B) | Medlemmer(C) | Navn+aktivitet(D)
Forening A | Aktivitet 01 | Under 40 år | Aktivitet 01 Forening A
Forening A | Aktivitet 01 | Over 40 år | Aktivitet 01 Forening A
Forening ABC | Aktivitet 01 | Over 40 år | Aktivitet 01 Forening ABC
Forening ABC | Aktivitet 02 | Under 40 år | Aktivitet 02 Forening ABC
Forening ABC | Aktivitet 02 | Over 40 år | Aktivitet 02 Forening ABC
Forening ABC | Aktivitet 03 | Under 40 år | Aktivitet 03 Forening ABC
Forening ABC | Aktivitet 03 | Over 40 år | Aktivitet 03 Forening ABC
Forening BC | Aktivitet 02 | Under 40 år | Aktivitet 02 Forening BC
Forening BC | Aktivitet 02 | Over 40 år | Aktivitet 02 Forening BC
Forening BC | Aktivitet 03 | Over 40 år | Aktivitet 03 Forening BC
Forening B | Aktivitet 02 | Over 40 år | Aktivitet 02 Forening B

ARK 2 (Matrix):
Aktivitet (A) | Antal foreninger (B)
Aktivitet 01 | 2
Aktivitet 02 | 3
Aktivitet 03 | 2
Avatar billede lonmat Juniormester
10. september 2018 - 17:18 #1
Jeg ved ikke om jeg misforstår spørgsmålet, for løsningen ligger lige for i en standardfunktion:

Ved et kriterie (aktiviteten)
=TÆL.HVISER($B:$B;$G2)
(hvor jeg har aktiviteten i kolonne G)

Ved flere kriterier (aktivitet og alder)
=TÆL.HVISER($B:$B;$G2;$C:$C;I$1)
(hvor jeg har aktivitet i kolonne G og alder i række 1)

Vær opmærksom på at du I kolonne G og række 1 har samme tekststreng som du har i den kriteriekolonne B.
Avatar billede And_L Novice
11. september 2018 - 09:32 #2
Jo - altså. Alderen er jeg i dette tilfælde egentlig ligeglad med. Problemet er, at aldersgrupperingen gør, at nogle tæller dobbelt, hvor de egentlig bare skal tælle én - eksempelvis:
Forening A | Aktivitet 01 | Under 40 år | Aktivitet 01 Forening A
Forening A | Aktivitet 01 | Over 40 år | Aktivitet 01 Forening A

Det er samme forening, der har samme aktivitet, og den skal derfor kun tælle én. Hvis jeg bruger TÆL.HVISER med aktiviteten som kriterie, så er der mange, der tæller dobbelt pga. aldersgrupperingen.

Det kan være, at overskriften på mit indlæg ikke er helt spot on, men det som jeg håber på, er, at jeg kan bruge aktiviteten som et kriterie for antallet af foreninger, der udbyder aktiviteten. Håber det giver mening :)
Avatar billede anedi Ekspert
12. september 2018 - 15:02 #3
Prøv denne matrixformel på ark 2, celle B2 (jeg antager dine foreninger står i Ark2 celle A2 til Ax):
=SUM(IF(Ark2!A2=Ark1!$B$2:$B$100;1/(COUNTIFS(Ark1!$B$2:$B$100;Ark2!A2;Ark1!$D2:$D100;Ark1!$D2:$D100));0))

Når du har tastet formlen skal du holde CTRL + SHIFT nede inden fu trykker ENTER.

Vh
Anedi
Avatar billede And_L Novice
14. september 2018 - 09:45 #4
Tak for svar til jer begge to. Til Anedi: Jeg tror ikke den formel virker i mit tilfælde. Jeg får i hvert fald nogle skæve resultater. Jeg gør muligvis noget forkert. Det er aktiviteterne der er listet i Ark2 celle A2 til Ax. Foreningerne er i Ark1, A2 til Ax.

Det jeg godt kunne tænke mig er, hvis jeg kan lave en formel, hvor den tæller unikke antal foreninger indenfor aktivitet 01. Altså, hvis Ark1, Kolonne B er = aktivitet 01, så tæller den alle de unikke forekomster i Ark1, Kolonne A (foreninger), som svarer til de rækker, hvor aktivitet 01 er givet i Kolonne B.

Jeg har formået at løse det på en alternativ måde, men det er noget omstændigt og har gjort datasættet ekstra tungt. Her har jeg lavet et nyt ark, hvor jeg har alle aktiviteterne i række 1, og så lave LOPSLAG til den kolonne. Derefter beder jeg den om at tælle unikke forekomster med denne formel igen, hvor A1="Aktivitet 01"
=SUM(HVIS(FREKVENS(SAMMENLIGN(’Nytark’!A2:A1000;'Nytark’!A2:A1000;0);SAMMENLIGN(’Nytark’!A2:A1000;’Nytark’!A2:A1000))>0;1))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester