领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

Excel – 多条件排序就用 sortby 函数

nixiaole 2024-11-26 07:15:35 知识剖析 12 ℃

O365 这次出了两个排序函数,除了前段时间给大家讲解过的 sort 以外,还有一个 sortby 函数。


sortby 函数也是用于排序,功能跟 sort 类似,主要区别在于:

  • sort 只能按一个数组或区域排序,而 sortby 可以按多个数组或区域排序。
  • sortby 比 sort 更智能,参数中不需要声明是按行还是按列排序,它会自动识别。


有关 sort 函数的详解,请参阅 Excel – 告别繁琐的菜单操作,用 sort 函数排序


函数说明:


作用:

  • 根据相应区域或数组中的值对区域或数组的内容进行排序。


语法:

  • SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)


参数:

  • array:必需,要筛选的区域或数组。
  • by_array1:必需,要对其进行排序的区域或数组。
  • [sort_order1]:可选,排序顺序。1(或省略)表示升序,-1 表示降序。
  • [by_array2]:可选,要对其进行排序的第二个区域或数组。
  • [sort_order2]:可选,第二个排序顺序。1(或省略)表示升序,-1 表示降序。


说明:

  • 数组可以是一行或一列,也可以是行和列的组合。
  • SORTBY 函数会返回一个数组,如果该数组是公式的最终结果,则会溢出。这意味着,当按下回车键时,Excel 将动态创建相应大小的数组范围。对于 Excel 表格中的数据,若使用结构化引用,则从数组范围中添加或删除数据时,数组将自动重设大小。
  • Excel 对工作簿之间的动态数据提供有限支持,并且仅当这两个工作簿时都处于打开状态时才支持此方案。如果关闭源工作簿,刷新时,任何链接的动态数组公式都将返回 #REF! 错误 。


案例 1:


下图 1 为某公司员工的业绩完成率及奖金表,请按以下要求排序:

  1. 依次按“业绩完成率”和“实际奖金”为第一、第二优先级,从高到低排序
  2. 保持月份顺序不变,按每个月内的“实际奖金”从高到低排序


效果如下图 2、3 所示。


解决方案 1:


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

=SORTBY(A2:E25,D2:D25,-1,E2:E25,-1)


公式释义:

  • A2:E25:对这个区域排序
  • D2:D25,-1:按 D2:D25 区域降序排序
  • E2:E25,-1:按 E2:E25 区域降序排序


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

=SORTBY(A2:E25,A2:A25,,E2:E25,-1)


公式释义:

  • A2:E25:对这个区域排序
  • A2:A25,,:省略了排序参数,表示按 A2:A25 区域升序排序
  • E2:E25,-1:按 E2:E25 区域降序排序


案例 2:


下图 1 是一个横向的业绩完成情况表,请依次按“完成率”和“业绩”的优先顺序,从高到低排序。


效果如下图 2 所示。


解决方案 2:


在 B13 单元格中输入以下公式:

=SORTBY(B7:I10,B10:I10,-1,B8:I8,-1)


公式释义:

  • B7:I10:对这个区域排序
  • B10:I10,-1:按 B10:I10 区域降序排序
  • B8:I8,-1:按 B8:I8 区域降序排序


sortby 函数自动识别,并按横向排序了表格。


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

Tags:

最近发表
标签列表