Как работает функция SUMPRODUCT(COUNTIF( ))?

Как работает функция SUMPRODUCT(COUNTIF( ))?

Я искал решение для подсчета различных значений в диапазоне и наткнулся наЭта статья. В примере представлен список из десяти имен, состоящий из четырех уникальных записей. Затем он использует следующую формулу для подсчета четырех уникальных записей:=SUMPRODUCT(1/COUNTIF(B3:B12,B3:B12))

У меня есть базовое понимание того, как работают функции SUMPRODUCTи COUNTIF. Но я не понимаю эту формулу.

  • Что COUNTIFделает такое, что выдает массив {1,2,2,3,3,3}?
  • Как он SUMPRODUCTвзаимодействует с этим, чтобы добиться результата 4?

Когда я дублирую данные и ввожу =COUNTIF(B3:B12,B3:B12), получается 3.

  • Что означает это значение?
  • Как он связан с массивом {1,2,2,3,3,3}?

решение1

Этот {1,2,2,3,3,3}пример на самом деле совершенно произволен и не имеет ничего общего с фактическими результатами. COUNTIF()Фактически вернет это {3,3,3,2,2,3,3,3,2,2}. Этот массив является результатом COUNTIF()вычисления для каждого элемента его второго аргумента. Затем, как говорится в статье, каждый элемент этого массива используется в делении с 1 в качестве числителя. То есть ваш массив становится {1/3,1/3,1/3,1/2...} SUMPRODUCT()затем суммирует все элементы массива, чтобы получить четыре.

Связанный контент