¿Cómo funciona esta función SUMPRODUCT (COUNTIF ())?

1

Estaba buscando una solución para contar valores distintos en un rango, y encontré Este artículo . El ejemplo proporciona una lista de diez nombres que consta de cuatro entradas únicas. Luego usa la siguiente fórmula para contar las cuatro entradas únicas: =SUMPRODUCT(1/COUNTIF(B3:B12,B3:B12))

Tengo una comprensión básica de cómo el SUMPRODUCT y COUNTIF funcionan las funciones Pero no entiendo esta fórmula.

  • Que es COUNTIF haciendo tal que produce una matriz de {1,2,2,3,3,3}?
  • Como lo hace SUMPRODUCT interactuar con eso para ceder 4?

Cuando duplico los datos y entro =COUNTIF(B3:B12,B3:B12), cede 3.

  • ¿Qué significa este valor?
  • ¿Cómo se vincula a la matriz {1,2,2,3,3,3}?
Trevor D
fuente
el sitio al que se refiere también tiene un "cómo funciona esta fórmula", ¿lo ha leído? Su pregunta actualmente solo está pidiendo la repetición de la misma información. Por favor, explique qué es lo que no queda claro y dónde necesita más explicación. Además, los (sub) resultados en sus ejemplos no parecen estar alineados, por favor verifíquelos nuevamente, también es muy difícil entender los resultados de las fórmulas sin ver la entrada, por favor publíquelas también.
Máté Juhász
Leí la sección "Cómo funciona la fórmula" pero no puedo seguirla. No estoy pidiendo una regurgitación del enlace, estoy preguntando si alguien puede explicar cómo funciona esto de una manera diferente o explicarlo más claramente. Lo que no queda claro del artículo: no entiendo cómo = COUNTIF (B3: B12, B3: B12) crea una matriz. No entiendo cómo funciona (1 / COUNTIF ()): ¿divide esto 1 por cada valor en la matriz? Cité la matriz {1,2,2,3,3,3} del artículo, ¿no es esto correcto? ¿Es este un ejemplo arbitrario no relacionado con el ejemplo proporcionado?
Trevor D
1
También recomiendo repasar la fórmula en Excel. He encontrado que esto es increíblemente útil para entender las fórmulas de matriz
Kyle

Respuestas:

3

Ese {1,2,2,3,3,3} De hecho, el ejemplo es completamente arbitrario y no tiene nada que ver con los resultados reales. los COUNTIF() en realidad devolvería esto {3,3,3,2,2,3,3,3,2,2}. Esa matriz es el resultado de COUNTIF() calculando para cada elemento de su segundo argumento. Luego, como dice el artículo, cada elemento de esa matriz se usa en la división con 1 como numerador. Es decir, tu matriz se convierte {1/3,1/3,1/3,1/2...} SUMPRODUCT() luego suma todos los elementos de la matriz para obtener cuatro.

Kyle
fuente