数组公式如何与等级配合使用?按顺序排列,没有重复,按顺序排列

时间:2019-04-16 17:32:02

标签: excel excel-formula

数组公式如何与排名配合使用?按顺序排列,没有重复的副​​本。

我有一项任务需要对部门进行排序(通过评估几个指标)。但是有时有些情况是多个部门获得相同的级别(重复级别)。而且,由于排名方面的差距,一个简单的RANK()公式无法正常工作(如果两个部门排名第一,那么下一个部门将排在第三位)。

我已经找到了解决这个小困境的方法- https://www.extendoffice.com/documents/excel/4283-excel-rank-without-skipping-numbers.html

但是我无法确定这个公式是如何工作的...

它如何工作?

 {=SUM(IF(A2>$A$2:$A$14,1/COUNTIF($A$2:$A$14,$A$2:$A$14)))+1}

1 个答案:

答案 0 :(得分:1)

不是很直观,因为实际上所有数组公式都如此。该说明假定您知道什么是array formula,值的数组以及它们的工作方式。
如果您将公式分解为更多部分,则可能更容易理解:

  1. COUNTIF($A$2:$A$14,$A$2:$A$14)->创建具有相同维度范围(A2:A14)的广告数组,并为每一行计数找到该行的值的次数,因此,如果您有两个具有相同指示符的部门(在这种情况下,在A列中指定),在两个部门的两行中,公式都会给您 2 ,如果您有三个部门且指标相同,则公式会给出 3 每行,依此类推。
  2. 1 / pt.1->具有pt.1中所述的计数倒数的数组。现在,如果使用该数组的相同指示符将行的所有 n 个事件的发生加总,将得到 1 ,这就是窍门。当(之后)我们将求和的指标刨丝器的数量加起来比所评估的行数多时,此技巧可让我们为每个指标计算 1 ,如果不是,则对 n 进行计数具有相同值的指标更多。
  3. IF(A2>$A$2:$A$14,*pt.2*)->仅使用与A2>An中对应行的值相对应的值,才返回“过滤”的pt.2值的所有值,因此所评估的指标比您所在的行中的那个。
  4. SUM(*pt.3*) + 1->对pt过滤后的数组的值求和。 3.请注意,如果有多个具有相同指示符的行,则表示pt的三点。 2,它们的权重之和为 1 而不是 n

请注意,A2>$A$2:$A$14将以指标的较小值到较大的值对行进行递增编号,如果您愿意,则可以使用 smaller 代替 grater 放在公式中:A2<$A$2:$A$14