Excel中基于两列的排名公式

时间:2019-10-30 14:25:44

标签: excel excel-formula

我正在尝试使用以下公式=SUMPRODUCT(([Item]=[@Item])*([@Price]<[Price]))+1根据价格对以下商品进行排名,但不会返回任何结果:

enter image description here

当我在下面的测试表中使用相同的公式时,它会起作用,=SUMPRODUCT(($A$2:$A$7=A2)*(B2<$B$2:$B$7))+1

enter image description here

有人可以让我知道我做错了什么吗?谢谢

编辑2:评估https://imgur.com/a/eXIYPAP

2 个答案:

答案 0 :(得分:0)

您的公式对我来说很好。

您确定A2和A3的值相同吗?可能存在一些隐藏的空白导致问题。尝试

=A2=A3

在另一个单元格中确保它们相同。

使用COUNTIFS代替

我不知道您的公式为什么不起作用,但是,我建议您尽量避免使用SUMPRODUCT

=COUNTIFS([Item],[@Item],[Price],">"&[@Price])+1

这将计算每个商品的价格高于当前价格的数量(如果您希望排名从1开始而不是0,则为+1)

=COUNTIFS([Item],[@Item],[Price],">"&[@Price])+1

答案 1 :(得分:0)

如果您的目标是获得每个唯一商品的排名,=SUMPRODUCT(([Item]=[@Item])*([Price]>[@Price]))+1应该可以解决。如果目标是仅根据价格获得排名,则还没有找到答案。