У меня есть набор данных в Excel, который выглядит следующим образом:
A B
8 10
9 8
9 8
0 3
0 3
0 3
0 3
Я хочу использовать функцию RANK.AVG
, где она получает ранг только из значений в столбце B, где значение в столбце A не равно 0.
Для контекста этот набор данных будет иметь разное количество строк в зависимости от месяца, и я не хочу каждый раз изменять формулу, чтобы настроить только 2 строки в этом случае.
Текущий вывод выглядит следующим образом:
=IFERROR(RANK.AVG(B2,$B$2:$B$8,1),0)
A B C
8 10 7
9 8 5.5
9 8 5.5
0 3 2.5
0 3 2.5
0 3 2.5
0 3 2.5
Желаемый результат (на данный момент ручной) будет примерно таким:
=IFERROR(RANK.AVG(B2,$B$2:$B$4,1),0)
A B C
8 10 3
9 8 1.5
9 8 1.5
0 3 0
0 3 0
0 3 0
0 3 0
Есть ли функция для учета этого, где я могу сделать что-то вроде rank.avg.ifs
, похожего на sumifs
? Предполагая, что я могу использовать функцию sumproduct
, но не вижу ее там, где она похожа на rank avg.
Если у вас есть возможность добавить вспомогательный столбец, вы можете использовать следующие формулы:
для RANK
- =COUNTIFS(A2:$A$8;">0";B2:$B$8;"< = "&B2)
для RANK.AVG
- =AVERAGEIF($B$2:$B$8;B2;$D$2:$D$8)
Ах, я вижу, нужно было заменить точку с запятой на запятую, и это сработало!
Привет, я получил сообщение об ошибке при запуске: «С этой формулой возникла проблема. Не пытаетесь ввести формулу? Когда первым символом является знак равенства (" = ") или минус ("-"), Excel считает, что это формула: вы вводите: =1+1, в ячейке отображается: 2. Чтобы обойти это, введите апостроф (' ) сначала: вы вводите '=1+1, ячейка показывает: =1+1