IT-Swarm.Net

Cum să numeri numărul de valori distincte dintr-un interval?

Am un tabel mare, care este deja organizat folosind filtre etc. Aș dori să adaug un rezumat sub anumite coloane care conțin numărul de valori distincte din acea coloană.

Nu există nicio funcție =COUNTDISTINCT(A2:A100), deci ce pot face în schimb? (Excel 2003)

Nu pot folosi exact răspunsurile la această întrebare similară , deoarece nu vreau să modific tabelul sau filtrarea. Am nevoie de o adăugare în foaia de lucru, nu de o modificare .

32
=SUMPRODUCT((A2:A100 <> "")/COUNTIF(A2:A100,A2:A100 & ""))

o va face fără a fi nevoie să folosești o formulă matricială.

31
Lance Roberts

Găzduire rapidă, fiabilă și la prețuri accesibile

Înscrieți-vă și primiți $50 bonus în termen de 30 de zile!

Am găsit o soluție aici care pare a fi o modalitate incredibilă de sens giratoriu pentru a o rezolva. Dar hei, funcționează ...

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

apoi apăsați Ctrl+Shift+Enter. Apăsați numai Enter va da rezultatul greșit.

7

Ai găsit două resurse pentru tine:

http://www.excelforum.com/Excel-worksheet-functions/365877-count-distinct-values.html

și

http://www.cpearson.com/Excel/Duplicates.aspx

Ar trebui să fiți capabil să găsiți o soluție viabilă de acolo.

1
Sux2Lose

Acest articol arată acest lucru pentru valorile textului:

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

și asta pentru valori numerice:

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

Acest articol prezintă formule similare, dar arată și o metodă folosind filtre.

Numărați numărul de valori unice folosind un filtru

Puteți utiliza filtrul avansat pentru a extrage valorile unice dintr-o coloană de date și a le lipi într-o locație nouă. Apoi, puteți utiliza funcția ROWS pentru a număra numărul de articole din noul interval.

  1. Asigurați-vă că primul rând din coloană are un antet de coloană.
  2. În meniul Date, indicați spre Filtru, apoi faceți clic pe Advanced Filter.
  3. În caseta de dialog Filtru avansat, faceți clic pe Copiere într-o altă locație.
  4. Dacă intervalul pe care îl numeri nu este deja selectat, ștergeți orice informație din caseta Interval listă, apoi faceți clic pe coloana (sau selectați intervalul) care conține datele dvs.
  5. În caseta Copiere în, ștergeți orice informație din casetă sau faceți clic în casetă, apoi faceți clic pe o coloană goală în care doriți să copiați valorile unice.
  6. Bifează caseta de selectare Numai înregistrări unice și faceți clic pe OK.

    Valorile unice din intervalul selectat sunt copiate în noua coloană.

  7. În celula goală de sub ultima celulă din interval, introduceți funcția ROWS. Utilizați gama de valori unice pe care tocmai le-ați copiat ca argument. De exemplu, dacă intervalul de valori unice este B1: B45, atunci introduceți:
    = ROWS (B1: B45)

1
Dennis Williamson

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

Confirmați cu Ctrl + Shift + Enter

Pentru fiecare celulă, contează de câte ori apare și însumează inversele tuturor acestor valori. Să presupunem că o anumită șir sau un număr de ocazie de 5 ori. Inversul său este 0,2, care se însumează de 5 ori, deci se adaugă 1. În final, el oferă numărul de valori diferite.

Notă: nu funcționează atunci când apar semne albe!

1
user221470

= SUM (IF (frecvență (IF (SUBTOTAL (3, OFFSET (A2: A100, ROW (A2: A100) -Row (A2), 0,1)), MECI ( "~" & A2: A100, A2: A100 &“ “, 0)), ROW (A2: A100) -Row (A2) +1), 1))

Asigurați-vă că atingeți CONTROL + SHIFT + ENTER după ce inserați această formulă. Aceasta este pentru o gamă de A2: A100, reglați intervalul în consecință.

0
Vlada

Încercați acest link. Acest lucru arată cum să numărați valori unice într-o listă care omite celulele goale.

http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/

= suma (dacă (frecvență (potrivire (listă, listă, 0)), potrivire (listă, listă, 0))> 0, 1))

Unde „Listă” este gama dvs. de celule, de exemplu:

Listă = $ A $ 2: $ A $ 12 OR- Listă = compensare ($ A $ 1 , potrivire (rept ("z", 255), $ A: $ A)) -OR- List = compensare ($ A $ 1, , potrivire (valoare (rept ("9", 255)), $ A: $ A))

0
Charles Hunt