Использование Sumproduct для игнорирования нечисловых и пустых значений в диапазоне - PullRequest
0 голосов
/ 07 апреля 2019

Я ищу функцию Excel, которая получит средневзвешенное значение, но только при наличии действительной ячейки

На данный момент самое дальнее, что я получил:

Где G8 - G100 - первый или второй столбец в данных выборки, а H8: H100 - 3-й столбец с весами

Требования / Ограничения:

  • Если в столбце G не числовое значение, это значение игнорируется
  • Если в столбце H не числовое значение, это значение игнорируется
  • H гарантированно будет числовым или пустым
  • G может быть числовым, пустым или строкой
  • Взвешенный результат функции НЕ учитывает весовые коэффициенты для строк, которые были проигнорированы, например, первый столбец в общих весовых коэффициентах суммирует до 1, поскольку только 2 из 5 весовых коэффициентов используются в вычислениях
=SUMPRODUCT($G$8:$G$100,H8:H100)/SUMPRODUCT($G$8:$G$100,--ISNUMBER(H8:H100),--ISNUMBER(G8:G100))/SUM(H8:H100)
R2      1      .13
Abc     4      .13
12      3      .2
        3      .2
3       2      .27

А потом результат:

First column:
= (12 * .2) * (.2/(.2+.27)) + (3*.27) * (.2/(.2+.27))

Second column:
= (1 *.13) * (.13/(.13+.13+.2+.2+.27)) + (4*.13) * (.13/(.13+.13+.2+.2+.27)) + 3 * (.2/(.13+.13+.2+.2+.27)) + etc...(for all 5 valid cells)
...