Tengo una tabla grande que ya está organizada con filtros, etc. Me gustaría agregar un resumen debajo de ciertas columnas que contienen el número de valores distintos en esa columna.
No hay función, =COUNTDISTINCT(A2:A100)
¿qué puedo hacer en su lugar? (Excel 2003)
No puedo usar exactamente las respuestas a esta pregunta similar porque no quiero modificar la tabla o el filtrado. Necesito una adición en la hoja de trabajo, no una modificación .
microsoft-excel
worksheet-function
Torben Gundtofte-Bruun
fuente
fuente
for each [i] in A2:A100 DO:{ sum += (([i]<>"")/COUNTIF(A2:A100,[i])) }
, derecha ? Tengo problemas para entender cómo se sabe enumerar tanto el parámetro condicional como el segundo parámetro COUNTIF, pero no el primer parámetro COUNTIF. ¿Esta magia DWIM está documentada / explicada en alguna parte por MS? Sería bueno saber cómo escribir esto intencionalmente.=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100,A2:A100&""))
. Asegura queCOUNTIF
nunca devuelva un 0 para las líneas en blanco, lo que daría como resultado unDIV/0
error.Encontré una solución aquí que parece ser una increíble forma indirecta de resolverlo. Pero bueno, funciona ...
y luego presione Ctrl+ Shift+ Enter. Presionar solo Enterdará el resultado incorrecto.
fuente
Encontré dos recursos para ti:
http://www.excelforum.com/excel-worksheet-functions/365877-count-distinct-values.html
y
http://www.cpearson.com/excel/Duplicates.aspx
Debería poder encontrar una solución viable desde allí.
fuente
Este artículo muestra esto para valores de texto:
y esto para valores numéricos:
Este artículo muestra fórmulas similares, pero también muestra un método que usa filtros.
fuente
= SUMA (1 / COUNTIF (A2: A100; A2: A100))
Confirme con Ctrl + Shift + Enter
Para cada celda, cuenta cuántas veces ocurre y suma los inversos de todos estos valores. Supongamos que una cadena o número occus 5 veces. Su inverso es 0.2, que se suma 5 veces, por lo que se agrega 1. Al final da el número de valores diferentes.
Nota: ¡no funciona cuando se producen espacios en blanco!
fuente
Prueba este enlace. Esto muestra cómo contar valores únicos en una lista que omite celdas en blanco.
http://www.functioninexcel.com/lists-arrays/count-unique-values-in-a-list/
= suma (if (frecuencia (coincidencia (Lista, Lista, 0), coincidencia (Lista, Lista, 0))> 0, 1))
Donde "Lista" es su rango de celdas, por ejemplo:
List = $ A $ 2: $ A $ 12 OR- List = offset ($ A $ 1 ,,, match (rept ("z", 255), $ A: $ A)) -O- List = offset ($ A $ 1, ,, partido (valor (rept ("9", 255)), $ A: $ A))
fuente
Asegúrese de presionar CONTROL + MAYÚS + ENTRAR después de pegar esta fórmula. Esto es para un rango de A2: A100, ajuste el rango en consecuencia.
fuente