Excel: Для строки, если условие выполнено, использовать для расчета среднего значения

Excel: Для строки, если условие выполнено, использовать для расчета среднего значения

У меня есть проблема, которая, как я подозреваю, имеет относительно простое решение.

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

Возьмем следующие данные:

    A       B        C
1 | YEAR |  VARA  |  VARB  |
  --------------------------
2 | 1990 |  1     |  6     |
3 | 1991 |  5     |  5     |
4 | 1990 |  2     |  6     |
5 | 1990 |  1     |  8     |
6 | 1991 |  2     |  2     |
7 | 1991 |  3     |  1     |

Для каждого ГОДА я хочу вернуть среднее значение VARA и VARB.

Результаты должны быть следующими:

  • 1990: VARA = 1,33; ДЭРАБ = 6,66
  • 1991: VARA = 3,33; ДЭРАБ = 2,66

Насколько я понимаю, в Excel нет команды FOR, позволяющей выполнять итерацию и последующий оператор IF... так кто-нибудь знает, как этого можно добиться?

Спасибо!

решение1

Для VARA попробуйте использовать следующую формулу:=AVERAGEIF($A$2:$A$7,E2,$B$2:$B$7) введите описание изображения здесь

Для VARB попробуйте использовать следующую формулу:=AVERAGEIF($A$2:$A$7,E2,$C$2:$C$7) введите описание изображения здесь

решение2

Эта формула массива (CSE) решает проблему:

введите описание изображения здесь

  • Формула в ячейке H217:

    {=ROUND(AVERAGE(IF(COUNTIF($G217:$G217,$G$209:$G$214),H$209:H$214,"")),2)}

  • Закончите формулу сCtrl+Shift+Enterи заполнить поперек.

При необходимости измените ссылки на ячейки в формуле.

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