排序技巧2:对文本进行升序排序
按姓名的升序重新排列成绩表
下图左表是按学号的顺序记录的成绩表,现需要按姓名的升序重新排列成绩表,简单来说就是以“姓名”字段为关键字,进行升序排序。结果如右表所示。


=INDEX(A:A,RIGHT(SMALL(COUNTIF($B$3:$B$16,"<"&$B$3:$B$16)/1%+ROW($3:$16),ROW()-2),2))

这个公式的思路和昨天讲的基本是一样的,关键的部分是用countif计算出姓名的大小排名,这个可能是很多小伙伴想不到的地方。

countif这部分的意思是统计出B3:B16这个区域中,小于“林洁雯”的有3个,小于“林霞”的有4个,···,小于“曾汉波”的有0个,···,小于“周雅玉”的有13个,···。它们是一一对应的。
从上面的说明中,可以看出什么?小于“曾汉波”的有0个,说明没有比ta更小的了,ta就是最小的,对应的结果也是最小的。小于“周雅玉”的有13个,一共就14人,说明“周雅玉”是最大的。这样就得到了各姓名的升序排名。

https://pan.baidu.com/s/1pJkUWEK4EbSZbvrvCXiv6w
赞 (0)
