在日常处理数据时,若需对一列数值进行排序并生成连续的序号(如1、2、3……),即使存在相同数值也要求编号不中断,仅使用rank函数无法实现,因其会在重复值后跳过后续序号,产生如1、2、2、4的情况。此时可结合countif函数,通过条件计数实现严格递增的连续编号效果。
1、 图中A列为连续排名
2、 D列排名不连续
3、 在A46单元格中输入公式:=RANK(C46,$$C$$2:$$C$$64)+COUNTIF(D$$2:D46,D46)-1,用于计算排名并处理相同值的排序。
4、 重新表述以下内容
5、 RANK(C46,$$C$$2:$$C$$64)用于计算C46单元格的数值在$$C$$2至$$C$$64区域所有数据中的排序名次,数值越大排名越靠前。
6、 COUNTIF(D$$2:D46,D46)用于统计D46单元格的值在D列第2行至第46行中出现的总次数。若该值仅出现一次(即本身),结果为1;若出现两次则为2,依此类推,返回相应重复次数。
7、 关键在于最后减1,使不重复的序号保持不变,重复项则依次递增1、2、3……
评论
更多评论