¿Cómo funciona esta función SUMAPRODUCTO(CONTAR.SI( ))?

¿Cómo funciona esta función SUMAPRODUCTO(CONTAR.SI( ))?

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 compuestos por cuatro entradas únicas. Luego utiliza la siguiente fórmula para contar las cuatro entradas únicas:=SUMPRODUCT(1/COUNTIF(B3:B12,B3:B12))

Tengo un conocimiento básico de cómo funcionan las funciones SUMPRODUCTy . COUNTIFPero no entiendo esta fórmula.

  • ¿Qué COUNTIFhace que produzca una matriz de {1,2,2,3,3,3}?
  • ¿Cómo SUMPRODUCTinteractúa con eso para ceder 4?

Cuando duplico los datos y los ingreso =COUNTIF(B3:B12,B3:B12), da 3.

  • ¿Qué significa este valor?
  • ¿Cómo se vincula a la matriz {1,2,2,3,3,3}?

Respuesta1

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

información relacionada