Excel: Rank.AVG 和 IF/CASE 语句
Excel: Rank.AVG With IF/CASE Statement
我在 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:$B,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:$B,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;">0";B2:$B;"<="&B2)
对于 RANK.AVG
- =AVERAGEIF($B:$B;B2;$D:$D)
我在 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:$B,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:$B,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;">0";B2:$B;"<="&B2)
对于 RANK.AVG
- =AVERAGEIF($B:$B;B2;$D:$D)