excel 文字数字自动取值(想对文本数字排序)

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

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

对文本排序一直是个很头疼的问题,因为 Excel 并不能直接把中文翻译成对应的数值,然后进行排序。所以我们就要想一些办法,帮助 Excel 完成这个翻译的过程。

案例:

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

excel 文字数字自动取值(想对文本数字排序)(1)

excel 文字数字自动取值(想对文本数字排序)(2)

解决方案:

传统排序是这样的:

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

excel 文字数字自动取值(想对文本数字排序)(3)

然而因其是文本,Excel 是按拼音字母顺序对其进行排序的,所以会出现下面这种结果。

excel 文字数字自动取值(想对文本数字排序)(4)

下面就教大家两个公式,来协助文本排序。

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

=if(COUNT(FIND("一",A2)),1,IF(COUNT(FIND("二",A2)),2,3))

公式释义:

  • FIND("一",A2):在 A2 单元格中查找“一”,如果找到的话,会返回该字符第一次出现的位置;找不到则返回错误值;
  • COUNT(...):计算上述结果中的数值数,如果为错误值,则结果为 0;也就是说查找到“一”的话,结果为 1,查找不到则为 0;
  • COUNT(FIND("二",A2)):同理,在单元格中查找“二”,找到返回 1,找不到返回 0;
  • 最后是两个 if 嵌套,根据查找到的“一”或“二”,分别返回结果 1 或 2;都找不到的话,就返回 3

excel 文字数字自动取值(想对文本数字排序)(5)

excel 文字数字自动取值(想对文本数字排序)(6)

excel 文字数字自动取值(想对文本数字排序)(7)

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

excel 文字数字自动取值(想对文本数字排序)(8)

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

excel 文字数字自动取值(想对文本数字排序)(9)

4. 也可以用下面这个公式:

=LOOKUP(1,0/FIND({"一","二","三"},A2),{1,2,3})

公式释义:

  • FIND({"一","二","三"},A2):在 A2 单元格中查找数组 {"一","二","三"},结果为数字或错误值构成的一个数组;
  • 0/...:用 0 除以上述数组,得到由 0 或错误值组成的数组;
  • LOOKUP(1,...,{1,2,3}):在上述数组中查找 1,找不到,就会一直往下找,直至最后一个接近的值,即 0;最后返回 {1,2,3} 数组中与找到的最后一个 0 值位置对应的那个数值

excel 文字数字自动取值(想对文本数字排序)(10)

excel 文字数字自动取值(想对文本数字排序)(11)

excel 文字数字自动取值(想对文本数字排序)(12)

5. 同样对 B 列进行升序排序。

excel 文字数字自动取值(想对文本数字排序)(13)

6. 删除辅助列后就是最终结果。

excel 文字数字自动取值(想对文本数字排序)(14)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页