如图,每个编号下面有好几个人,想根据优先级确定发展人应该是谁,公式如下:=INDEX(C:C,
MOD(
MAX(
COUNTIF(OFFSET(F:F,,{0,1,2}), IF(D$2:D$34=K2,C$2:C$34))*10^{6,5,4}
COUNTIFS(C:C, IF(D$2:D$34=K2,C$2:C$34),D:D,K2)/1%
ROW($2:$34)
),
100)
)
这是第一次这么写公式,目的只有一个分层级将公式展开,便于分析。
函数思路:利用countif函数找出编号所有人在f:h列,即每一个级别的位置,并对每一个级别的数据分别乘以10万,1万,1千,这样第一优先级别的数就会最大。
再次利用countif函数对编号所有人在F:H列出现的次数进行统计,并乘以100,这样在优先级相同的情况下实现出现次数越多,赋值越大。
用row函数对H:F列的数据进行排序,顺序与姓名在C列中的位置相一致。
最后将三个数字相加取最大的数。然后取这个数除以100的余数。得到的正式最大值的排序位置。
评论 (0)