2010-09-17 14:13:03 +0000 2010-09-17 14:13:03 +0000
32
32
Advertisement

Hoe tel ik het aantal verschillende waarden in een bereik?

Advertisement

Ik heb een grote tabel die al is georganiseerd met behulp van filters enz. Ik wil onder bepaalde kolommen een overzicht toevoegen met daarin het aantal verschillende waarden in die kolom.

Er is geen functie =COUNTDISTINCT(A2:A100) dus wat kan ik in plaats daarvan doen? (Excel 2003)

Ik kan niet precies de antwoorden op deze soortgelijke vraag gebruiken omdat ik de tabel of de filtering niet wil wijzigen. Ik heb een toevoeging in het werkblad nodig, geen wijziging.

Advertisement
Advertisement

Antwoorden (7)

32
32
32
2011-06-05 08:44:38 +0000
=SUMPRODUCT((A2:A100 <> "")/COUNTIF(A2:A100,A2:A100 & ""))

zal het doen zonder een matrixformule te hoeven gebruiken.

7
7
7
2010-09-17 14:16:02 +0000

Ik vond een oplossing hier wat een ongelooflijke omweg lijkt te zijn om het op te lossen. Maar hé, het werkt…

=SUM(IF(COUNTIF(A2:A100,A2:A100)=0, “”, 1/COUNTIF(A2:A100,A2:A100))

en druk dan op Ctrl+Shift+Enter. Als u alleen op Enter drukt, krijgt u een verkeerd resultaat.

1
Advertisement
1
1
2013-05-02 05:42:13 +0000
Advertisement

=SUM(1/COUNTIF(A2:A100;A2:A100))

Bevestig met Ctrl+Shift+Enter

Voor elke cel wordt geteld hoe vaak het voorkomt, en worden de inverses van al deze waarden bij elkaar opgeteld. Stel dat een tekenreeks of getal 5 keer voorkomt. Zijn inverse is 0.2 die 5 keer wordt opgeteld, dus 1 wordt toegevoegd. Op het einde geeft dit het aantal verschillende waarden.

Note: werkt niet als er spaties in voorkomen!

1
1
1
2010-09-17 15:08:28 +0000

Ik heb twee bronnen voor je gevonden: http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html

en http://www.cpearson.com/excel/Duplicates.aspx

Je zou van daaruit een werkbare oplossing moeten kunnen vinden.

1
Advertisement
1
1
2010-09-17 15:10:55 +0000
Advertisement

Dit artikel laat dit zien voor tekst waarden:

=SUM(IF(FREQUENCY(IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""), IF(LEN(C3:C25)>0,MATCH(C3:C25,C3:C25,0),""))>0,1))

en dit voor numerieke waarden:

=SUM(IF(FREQUENCY(C3:C25, C3:C25)>0,1))

Dit artikel toont soortgelijke formules, maar toont ook een methode met gebruik van filters.

Tel het aantal unieke waarden met behulp van een filter

Je kunt het Geavanceerd filter gebruiken om de unieke waarden uit een kolom met gegevens te halen en die op een nieuwe plaats te plakken. Vervolgens kun je de functie ROWS gebruiken om het aantal items in het nieuwe bereik te tellen.

  1. Zorg ervoor dat de eerste rij in de kolom een kolomkop heeft.
  2. 2. Wijs in het menu Data Filter aan en klik vervolgens op Geavanceerd filter.
  3. Klik in het dialoogvenster Geavanceerd filter op Kopiëren naar een andere locatie.
  4. 4. Als het bereik dat je telt nog niet geselecteerd is, wis je alle informatie in het vak Lijstbereik en klik je vervolgens op de kolom (of selecteer je het bereik) die je gegevens bevat.
  5. In het vak Kopiëren naar, verwijdert u alle informatie in het vak of klikt u in het vak, en klikt u vervolgens op een lege kolom waar u de unieke waarden wilt kopiëren.
  6. Schakel het selectievakje Alleen unieke records in en klik op OK.

  7. Voer in de lege cel onder de laatste cel van het bereik de functie ROWS in. Gebruik het bereik van unieke waarden dat u zojuist hebt gekopieerd als argument. Bijvoorbeeld, als het bereik van unieke waarden B1:B45 is, dan voert u in:
    =ROWS(B1:B45)

0
0
0
2013-07-02 11:56:27 +0000

Probeer deze link. Deze laat zien hoe unieke waarden in een lijst geteld kunnen worden met weglating van lege cellen. http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

= som( als( frequentie( match( Lijst , Lijst , 0 ) , match( Lijst , Lijst , 0 )) > 0 , 1 ))

Waarbij “Lijst” uw cellenbereik is, bijvoorbeeld:

List = $A$2:$A$12 OR- List = offset($A$1,,,match( rept(“z”,255) , $A:$A )) -OR- Lijst = offset($A$1,,,match( waarde(rept(“9”,255)) , $A:$A ))

0
Advertisement
0
0
2013-08-03 23:06:09 +0000
Advertisement

=SUM(IF(FREQUENCY(SUBTOTAL(3,OFFSET(A2:A100,ROW(A2:A100)-ROW(A2),0,1)),MATCH(“~”&A2:A100,A2:A100&“”,0)),ROW(A2:A100)-ROW(A2)+1),1))

Zorg ervoor dat u CONTROL+SHIFT+ENTER indrukt nadat u deze formule hebt geplakt. Dit is voor een bereik van A2:A100, pas het bereik dienovereenkomstig aan.

Advertisement

Gerelateerde vragen

6
13
9
10
7
Advertisement
Advertisement