首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何提取出 Excel 表格中业绩前 n 名的行,且降序排序?

我们为什么要用 O365 版本?因为高阶函数太香了。

案例:

在下图 1 中左侧的数据表中查找出“实际完成“前 n 名的人,将整行数据填写在右侧的表中。

结果按“实际完成”值降序排序;

n 值变化时,右侧的结果自动更新;

结果表格的边框会随着区域的增减自动出现和消失。

效果如下图 2、3 所示。

解决方案:

今天的公式,会用到不少高阶的 O365 函数。

1. 在 G2 单元格中输入以下公式:

=INDEX(SORTBY(A2:A13,C2:C13,-1),SEQUENCE(E2))

公式释义:

SORTBY(A2:A13,C2:C13,-1):

参数含义为 (要列出的区域, 按哪个区域排序, 降序排序);

这里表示按 C 列降序排序后,将对应的 A 列区域罗列出来;

SEQUENCE(E2):生成从 1 开始,步长为 1,截止数为 E2 单元格数值的一组序列,即 ;

INDEX(...,...):在第一个参数的区域中提取出排在序列中第 m 位的值,m 为第二个参数的值;由于第二个参数是数组,所以最终提取出来的是一个动态数组区域

2. 在 H2 单元格中输入以下公式 --> 下拉复制公式:

=IF(ISBLANK(G2),"",XLOOKUP(G2,A:A,B:C))

公式释义:

ISBLANK(G2),"":如果 G 列为空则显示空值;

XLOOKUP(G2,A:A,B:C):否则,在 A 列查找 G2 单元格的值,返回 B、C 列的对应行

到了这里还有个小问题:查找结果表没有边框,强迫症表示不能忍。

3. 选中 G2:I13 区域 --> 选择菜单栏的“开始”-->“条件格式”-->“新建规则”

4. 在弹出的对话框中选择“使用公式确定要设置格式的单元格”--> 输入以下公式 --> 点击“格式”:

=G2""

5. 在弹出的对话框中选择“边框”选项卡 --> 选择“外边框”--> 点击“确定”

现在数据表的非空区域就自动添加了边框。

修改名次,不仅查询结果会自动更新,数据表边框也会自动出现。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20221109A07TAL00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券