公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
这是一个求助案例,要将有重复值且不连续的数据去重后排序,如何方便地实现?
若搁在从前,我会建议该同学用万金油公式。但是万金油对很多初学者还是难了点,不太容易理解。
自从升级了 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 – 各种带条件花式查找,用filter函数就对了
Excel – 告别繁琐的菜单操作,用 sort 函数排序
Excel – 提取不重复值,终于有专门的函数了
2. 在 C2 单元格中输入以下公式:
=UNIQUE(SORT(FILTER(A:A,ISNUMBER(A:A),""),,-1))
公式释义:
本公式基本上与 B 列公式大同小异,唯一的区别是 sort 函数增加了第 3 个参数“-1”,表示按降序排列
以下就是最终结果。
领取专属 10元无门槛券
私享最新 技术干货