龙空技术网

如有高阶函数,对 Excel 文本数字排序就会变得非常简单

Excel学习世界 1328

前言:

此时同学们对“数组排序sort方法按数字大小”都比较关心,大家都想要知道一些“数组排序sort方法按数字大小”的相关文章。那么小编同时在网上汇集了一些关于“数组排序sort方法按数字大小””的相关文章,希望小伙伴们能喜欢,大家快快来学习一下吧!

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

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

之前给大家详细讲解了如何通过公式对文本数字排序,其实类似的公式有很多。今天要教几个用到 O365 函数的公式,不得不说,高阶函数确实能简化人类的工作。

案例:

将下图 1 中的部门按升序排序,效果如下图 2 所示。

解决方案 1:

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

=SORTBY(A2:A10,FIND(MID(A2:A10,3,1),"一二三"))

公式释义:

MID(A2:A10,3,1):将 A2:A10 区域中每个单元格的第 3 位提取出来,会生成一组由文本数字组成的数组;FIND(...,"一二三"):依次查找上述数组是否含有文本“一二三”中的任意字符,如果有,则返回该字符在文本字符串中的位置,是一个数值;SORTBY 函数的语法如下:SORTBY(要排序的区域,用于设置排序规则的区域,[升序还是降序]);可选参数为 1 或默认值时,表示升序;-1 表示降序;本公式的意思是,对 find 查找出的这组数值按升序排序,然后以这个规则将部门重新排序;简单来说就是将中文数字提取出来,通过 find 函数转换成了对应的数值,然后再对数值升序排序

解决方案 2:

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

=IFS(COUNT(FIND("一",A2)),1,COUNT(FIND("二",A2)),2,TRUE,3)

公式释义:

ifs 的作用本质上跟 if 是一样的,只是把语法简化了,不再需要层层嵌套;COUNT(FIND("一",A2)),1:在 A2 单元格中查找“一”,找到返回所在的位置数,找不到返回错误值;用 count 函数计算结果是否为数值,即是否找到,找到的话,返回数值 1;COUNT(FIND("二",A2)),2:公式同理,找到“二”就返回数值 2;TRUE,3:如果都找不到,则返回 3

2. 选中 B 列的任意单元格 --> 选择菜单栏的“数据”-->“升序”

A 列就按部门顺序排序好了。

解决方案 3:

1. 也可以将 B 列的公式修改如下:

=SWITCH(MID(A2,3,1),"一",1,"二",2,"三",3)

公式释义:

switch 函数相当于将 ifs 函数再次简化了,语法为 SWITCH(要转换的值, 要匹配的值 1, 如存在匹配项 1 需返回的值, [要匹配的值 2], [如存在匹配项 2 需返回的值]...)MID(A2,3,1):用 mid 函数提取出 A 列的文本数字;一",1,"二",2,"三",3:当文本为“一”、“二”、“三”时,分别返回数值 1、2、3

2. 对 B 列进行升序排序,A 列也同步排序好了。

标签: #数组排序sort方法按数字大小