Обновление средневзвешенных значений в течение дня - PullRequest
0 голосов
/ 19 мая 2018

Я хочу рассчитать средневзвешенное значение для набора данных.В конце каждого временного блока будет введено значение.Все временные блоки стоят разных значений, время A равно 2,5 часам, время B равно 3,5 часам, время C равно 3 часам.

Я хочу, чтобы среднее значение включало ячейку, содержащую 0. Я хочу, чтобы среднее значение невключить пустые ячейки и, как следствие, не включать этот временной блок в расчет.

Итак, используя приведенный ниже пример, так как время C пустое, я хочу, чтобы оно получило средневзвешенное значение 9 и 3 с 2,5 и 3,5и, следовательно, игнорировать пустую ячейку и 3,0.

Если, однако, время C говорит 0, я хочу, чтобы оно получило средневзвешенное значение 9, 3 и 0 с 2,5, 3,5 и 3.

Электронная таблица

= AVERAGE (C3: C5) не учитывает вес блоков времени, игнорирует пустые ячейки и включает в расчет 0.

= SUMPRODUCT(C3: C5, A3: A5) / SUM (A3: A5) учитывает весовые коэффициенты, но если пустая ячейка все равно делится на сумму 3 временных блоков, когда применимы только 1 или 2 из этих временных блоков.

= AVERAGEIF (C3: C5, "<> 0") не тучитывает вес блоков времени, игнорирует пустые ячейки и включает в расчет 0.

Какая формула учитывает веса, включает в расчет 0 и игнорирует пустые ячейки и связанный с ними блок времени?

По сути, я хочу одну формулу, которая будет обновлять среднее значение как текущее среднее значение за день, когда данные вводятся в строки выше.

1 Ответ

0 голосов
/ 19 мая 2018

Я думал, что может быть более разумный способ сделать это, например, с помощью агрегата, но это, безусловно, один из способов

=SUMPRODUCT(C3:C5*A3:A5)/SUMPRODUCT(A3:A5*(C3:C5<>""))

Это немного проще

=SUMPRODUCT(C3:C5*A3:A5)/SUMIF(C3:C5,"<>",A3:A5)
...