子集排名
Ranking with subsets
我正在尝试对值进行排名,并设法弄清楚如何对领带进行排序。我的数据查看条目总数,并据此进行排名,如果有平局,它会查看下一列值以将它们排序。但是,我的数据集中有两个 类(我称它们为东方和西方)数据,我想分别对它们进行排名(但要遵守上述规则)。因此,如果我有 7 个条目,其中 3 个是西部,4 个是东部,我希望西部根据该子集中的所有值排名 1、2、3,而东部将排名 1、2、3, 4.你能解释一下你的公式在做什么吗,这样我就可以理解将来如何更好地应用你的答案。
实际上我是在问需要什么公式才能达到我的结果。
干杯
保罗
有一些相关的方法可以做到这一点,大多数涉及 SUMPRODUCT
。如果您不喜欢下面的解决方案并想研究其他 ways/explanations,请尝试搜索 "rankif".
该函数查找 Class
和 Value
列,对于这些列中的每个值,returns 一个 TRUE
或 1,如果当前 Class
是一个匹配,如果它的 Value
大于当前的 Value
,False
否则为 0。 SUM
把这些1全部加起来,1+
是装饰用的。记得用Ctrl+Shift+Enter输入数组公式再往下拖
我使用上面的数组公式和 SUM
来解释,但下面的公式也有效,甚至可能更快,因为它不是数组公式。这是相同的想法,除了我们劫持 SUMPRODUCT
从数组中吐出单个值的能力。
=1+SUMPRODUCT(($A:$A=A2)*($B:$B>B2))
编辑
要扩展 rank-if,您可以通过乘以更多条件来添加更多子集以进行排名:
您还可以通过添加另一个 SUMPRODUCT
将平局视为附加子集来轻松添加决胜局:
第一个 SUMPRODUCT
是 'base rank',而第二个 SUMPRODUCT
是决胜局 #1。
我正在尝试对值进行排名,并设法弄清楚如何对领带进行排序。我的数据查看条目总数,并据此进行排名,如果有平局,它会查看下一列值以将它们排序。但是,我的数据集中有两个 类(我称它们为东方和西方)数据,我想分别对它们进行排名(但要遵守上述规则)。因此,如果我有 7 个条目,其中 3 个是西部,4 个是东部,我希望西部根据该子集中的所有值排名 1、2、3,而东部将排名 1、2、3, 4.你能解释一下你的公式在做什么吗,这样我就可以理解将来如何更好地应用你的答案。
实际上我是在问需要什么公式才能达到我的结果。
干杯
保罗
有一些相关的方法可以做到这一点,大多数涉及 SUMPRODUCT
。如果您不喜欢下面的解决方案并想研究其他 ways/explanations,请尝试搜索 "rankif".
该函数查找 Class
和 Value
列,对于这些列中的每个值,returns 一个 TRUE
或 1,如果当前 Class
是一个匹配,如果它的 Value
大于当前的 Value
,False
否则为 0。 SUM
把这些1全部加起来,1+
是装饰用的。记得用Ctrl+Shift+Enter输入数组公式再往下拖
我使用上面的数组公式和 SUM
来解释,但下面的公式也有效,甚至可能更快,因为它不是数组公式。这是相同的想法,除了我们劫持 SUMPRODUCT
从数组中吐出单个值的能力。
=1+SUMPRODUCT(($A:$A=A2)*($B:$B>B2))
编辑
要扩展 rank-if,您可以通过乘以更多条件来添加更多子集以进行排名:
您还可以通过添加另一个 SUMPRODUCT
将平局视为附加子集来轻松添加决胜局:
第一个 SUMPRODUCT
是 'base rank',而第二个 SUMPRODUCT
是决胜局 #1。