阿里巴巴|Excel – 多条件排序就用 sortby 函数

阿里巴巴|Excel – 多条件排序就用 sortby 函数

文章图片

阿里巴巴|Excel – 多条件排序就用 sortby 函数

文章图片

阿里巴巴|Excel – 多条件排序就用 sortby 函数

文章图片

阿里巴巴|Excel – 多条件排序就用 sortby 函数

文章图片

阿里巴巴|Excel – 多条件排序就用 sortby 函数

文章图片

阿里巴巴|Excel – 多条件排序就用 sortby 函数

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:E25D2:D25-1E2:E25-1)
公式释义:
  • A2:E25:对这个区域排序
  • D2:D25-1:按 D2:D25 区域降序排序
  • E2:E25-1:按 E2:E25 区域降序排序



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

=SORTBY(A2:E25A2:A25E2:E25-1)
公式释义:
  • A2:E25:对这个区域排序
  • A2:A25:省略了排序参数 , 表示按 A2:A25 区域升序排序
  • E2:E25-1:按 E2:E25 区域降序排序



案例 2:
下图 1 是一个横向的业绩完成情况表 , 请依次按“完成率”和“业绩”的优先顺序 , 从高到低排序 。
效果如下图 2 所示 。


解决方案 2:在 B13 单元格中输入以下公式:
=SORTBY(B7:I10B10:I10-1B8:I8-1)
公式释义:
  • B7:I10:对这个区域排序
  • B10:I10-1:按 B10:I10 区域降序排序
  • B8:I8-1:按 B8:I8 区域降序排序

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

【阿里巴巴|Excel – 多条件排序就用 sortby 函数】


    推荐阅读