芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片

芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值

文章图片


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

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



解决方案:

传统排序是这样的:

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

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

下面就教大家两个公式 , 来协助文本排序 。
2. 在 B2 单元格中输入以下公式 --> 下拉复制公式:
=IF(COUNT(FIND(\"一\"A2))1IF(COUNT(FIND(\"二\"A2))23))
公式释义:

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



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

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

4. 也可以用下面这个公式:
=LOOKUP(10/FIND({\"一\"\"二\"\"三\"A2){123)
公式释义:
  • FIND({\"一\"\"二\"\"三\"A2):在 A2 单元格中查找数组 {\"一\"\"二\"\"三\" , 结果为数字或错误值构成的一个数组;
  • 0/...:用 0 除以上述数组 , 得到由 0 或错误值组成的数组;

  • LOOKUP(1...{123):在上述数组中查找 1 , 找不到 , 就会一直往下找 , 直至最后一个接近的值 , 即 0;最后返回 {123 数组中与找到的最后一个 0 值位置对应的那个数值




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

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

【芯片|想对文本数字排序?你首先要帮助 Excel 把文本翻译成数值】