回复读者提问,各种不同的排序需求,且看我一一解答。
案例:
分别按以下要求查询下图 1 的数据表:
列出总收入最高的三个人
将总收入按从高到低排序
按总收入从高到低,将整个数据表重新排序
效果如下图 2、3 所示。
解决方案 1:列出总收入最高的三个人
1. 在 F2 单元格中输入以下公式 --> 下拉复制公式:
=IF(RANK(E2,$E$2:$E$9)
公式释义:
RANK(E2,$E$2:$E$9):
rank 函数的作用是返回一列数字的排位;
上述公式表示计算 E2 单元格的数字在区域 $E$2:$E$9 内的排名;
省略第三个参数,默认情况下是按降序排列;
第一个参数需要相对引用,第二个参数要绝对引用
IF(...
解决方案 2:将总收入按从高到低排序
这一题提供两个公式:
1. 在 G2 单元格中输入以下公式 --> 下拉复制公式:
=LARGE($E$2:$E$9,ROW()-1)
公式释义:
LARGE($E$2:$E$9,ROW()-1):
查找区域 $E$2:$E$9 中第 ROW()-1 大的值;
区域内的第一个行值是第 2 行,因此 row()=2,row()-1=1,即取出第一大的值;下拉公式,row() 的结果依次递增,从而实现排序效果;
如果将 row()-1 替换成 row(a1),也是可以的
有关 rank 和 large 函数的详解,请参阅Excel 中的几个排序函数,哪个都很简单易用。
第二个公式更简单:
2. 在 H2 单元格中输入以下公式 --> 回车即可:
SORT(E2:E9,,-1)
公式释义:
sort 函数是 O365 新增的排序函数;
它的含义是 SORT(要排序的区域,[按第几行或列排序],[排序规则,-1 表示降序],[表示按行或列排序,默认为列]);
上述公式表示对区域 E2:E9 降序排序;
O365 的函数会根据参数中的区域自动输出所有结果区域,而无需再拖动复制公式
有关 sort 函数的详解,请参阅Excel – 告别繁琐的菜单操作,用 sort 函数排序。
解决方案 3:按总收入从高到低,将整个数据表重新排序
1. 在 A12 单元格中输入以下公式 --> 回车:
=SORT(A1:E9,5,-1)
公式释义:
对区域 A1:E9 排序,按第 5 列降序排序
Excel学习世界
转发、在看也是爱!
领取专属 10元无门槛券
私享最新 技术干货