这是一个求助案例,要将有重复值且不连续的数据去重后排序,如何方便地实现?


若搁在从前,我会建议该同学用万金油公式。但是万金油对很多初学者还是难了点,不太容易理解。


自从升级了 O365 以后,“要啥自行车?”用啥万金油?筛选、去重、排序都有对应的函数,一气呵成不香吗?


案例:


下图 1 是一列不连续的原始数据,不仅不连续,还有重复值,更无任何顺序可言。


请将该列数据去除空值和重复值后,分别按升序和降序排序。


效果如下图 2 所示。


解决方案:


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

=UNIQUE(SORT(FILTER(A:A,ISNUMBER(A:A),"")))


公式释义:

  • ISNUMBER(A:A):判断 A 列的单元格是否为数值;这样可以避免将标题的中文也排进来
  • FILTER(A:A,...,""):
    • 筛选出 A 列中所有类型为数值的单元格;
    • 第三个参数 "" 表示当结果数组中的所有值都为空值时,返回空值
  • SORT(...):将筛选出的所有数值排序,默认情况下按升序排序
  • UNIQUE(...):返回上述排序后列表中的唯一值
  • 如果将公式中的 sort 和 unique 函数嵌套顺序互换也可以,得到的结果是一样的


有关上述 O365 函数的详细用法,请参阅:

  • Excel – 告别繁琐的菜单操作,用 sort 函数排序
  • Excel – 提取不重复值,终于有专门的函数了


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

=UNIQUE(SORT(FILTER(A:A,ISNUMBER(A:A),""),,-1))


公式释义:

  • 本公式基本上与 B 列公式大同小异,唯一的区别是 sort 函数增加了第 3 个参数“-1”,表示按降序排列


以下就是最终结果。


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

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