真正的脑筋急转弯!我用text函数轻松实现了分列

Excel学习世界 2025-02-27 22:22:23

按分隔符将字段分列,大家首先想到怎么做?“分列”设置,或者 PQ 对吧?这两种是最常见的整理方法。

但今天这个办法可能会超出很多人的想象,用 text 函数竟然也能轻松将单元格分列提取出来。

案例:

将下图 1 的 A 列中用“/”分隔开的文本分别提取到不同列中,效果如下图 2 所示。

解决方案:

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

=TEXT(1,SUBSTITUTE($A2,"/",";"))

公式释义:

SUBSTITUTE($A2,"/",";"):将 A2 单元格中的“/”替换成“;”号,结果变成“马凤英;本科;运营;女”;

将上述结果用作 text 函数的第二个参数,就变成了格式代码;

text 函数的第二个参数的用法就相当于自定义单元格格式;最多可以有四个区域,用英文半角的 ; 隔开,分别代表:正数;负数;0;文本;

这样一来,substitute 的结果就分别跟四个格式段对应上了,也就是说,当 text 函数的第一个参数为正数时,显示“马凤英”,负数则显示“本科”……依此类推;

TEXT(1,...):text 的第一个参数可以是任意正数;根据上述格式代码规则,将正数显示为 ; 隔开的第一段,即“马凤英”。

* 请注意:如上所述,格式代码最多只能有 4 段,如果超出 4 段,本公式就不适用了。

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

=TEXT(-11,SUBSTITUTE($A2,"/",";"))

公式释义:

这里的公式含义与 C 列完全一样,对照格式代码,负数会被转换成 ; 隔开的第二段内容,也就是“本科”。

3. 根据同样的规则,要提取第三和第四段文本,只需要将 text 函数的第一个参数分别设置为 0 和任意文本即可。

=TEXT(0,SUBSTITUTE($A2,"/",";"))

=TEXT("a",SUBSTITUTE($A2,"/",";"))

4. 最后选中整行 --> 向下拖动复制公式

0 阅读:0

Excel学习世界

简介:Excel 学习交流