分享

必须掌握的文本处理 Excel 函数套路

 逐梦经典 2022-03-27

在做数据分析的过程中,有时我们要整理文本数据,本文总结了十大经典的文本处理套路,供大家参考使用。本文的呈现虽然是以 Excel 公式为载体,但重点是掌握其处理思路,即使你是使用 PQ、VBA 编程的时候,思路也是同样适用的。暂时用不上的话,也建议先收藏备用

最基本的文本函数

以下这些都是最基本的文本字符处理函数,当然都是必须要掌握的。

LEFT

= LEFT('数据化管理', 2)

计算结果是:'数据'

RIGHT

= RIGHT('数据化管理', 2)

计算结果是:'管理'

MID

= MID('数据化管理', 3, 1)

计算结果是:''

LEN

= LEN('数据化管理')

计算结果是:5

SEARCH

= SEARCH('化', '数据化管理')

计算结果是:3

SUBSTITUTE

= SUBSTITUTE('数据化管利', '利', '理')

计算结果是:'数据化管理'

以上 6 个就是基础的文本处理函数,语法也很清楚,大家一个个看的话,肯定都能明白的。但 Excel 公式的运用,重难点是在于函数的嵌套。因为函数的嵌套其实就是算法,写算法就要考你的逻辑理解能力了,当然我们借鉴别人的算法也是很常见的,但前提是你必须要理解,这样才能玩得转!

以下就是结合具体文本处理场景的一些经典嵌套公式(以下将按由易到难的顺序排列,记得看完),如果你都能明白了,那就是文本处理高手了~

截断固定长度

  • 截断左边 1 个字符

A1 单元格的值是'?数据化管理'

= RIGHT(A1, LEN(A1) - 1)

计算结果是:'数据化管理'

  • 截断右边 1 个字符

A1 单元格的值是'数据化管理?'

= LEFT(A1, LEN(A1) - 1)

计算结果是:'数据化管理'

基于分隔符提取

A1 单元格的值是'数据化-管理'

  • 提取分隔符之前
= LEFT(A1, SEARCH('-', A1) - LEN('-'))

计算结果是:'数据化'

  • 提取分隔符之后
= RIGHT(A1, LEN(A1) - SEARCH('-', A1))

计算结果是:'管理'

A1 单元格的值是'数据-化-管理'

  • 提取分隔符之间
= MID(A1, SEARCH('-', A1) + LEN('-'), SEARCH('-', A1, (SEARCH('-', A1) + LEN('-'))) - (SEARCH('-', A1) + LEN('-')))

计算结果是:''

扩展:有多个分隔符,想跳过一些分隔符?用公式就要再加嵌套,用编程就要循环了!

提取中文、英文、数字

A1 的值是'数据化管理 sjhgl12345'

  • 提取中文
= LEFT(A1, LENB(A1) - LEN(A1))

计算结果是:'数据化管理'

  • 提取英文或数字
= RIGHT(A1, 2 * LEN(A1) - LENB(A1))

计算结果是:'sjhgl12345'

扩展:待提取的内容不是刚好在左边,也不是刚好在右边?如果是复杂的中文、英文、数字混合情况,这时不建议用公式了,可以试试快速填充功能Ctrl + E,或利用 Word 的通配符替换功能辅助处理,甚至借助 VBA 解决。

更多情况

A1 单元格的值是'数-据-化-管-理'

  • 求'-'在字符串中的出现次数
= LEN(A1) - LEN(SUBSTITUTE(A1, '-', ''))

计算结果是:4

  • 求最后一个'-'在字符串中的位置
LOOKUP(1, 0 / (MID(A1, ROW(1:20), 1) = '-'), ROW(1:20))

扩展

用 Excel 函数去处理文本,主要是处理一些简单的情况。如果你是要面对一些更复杂的情况,例如:

  • 从'数 1 据 2 化 3 管 4 理 5'提取中文或数字

  • 从'数-据-化-管-理'提取第 2 个'-'到第 4 个'-'之间的文本

……

这些情况就建议考虑用 VBA 去处理了,使用编程中的循环 + 判断,结合上面公式处理问题的思路,无论多复杂的情况你都可以搞定。在文本处理界还有一个神器工具-正则表达式,能让你去实现查找匹配、灵活替换文本的功能,几乎能解决所有的文本处理问题!在 VBA 中也是可以使用正则表达式的。

对于我们做数据分析的朋友来说,学习 VBA 主要是想提升数据处理、数据分析的效率,还有就是与其他 Office 软件进行联动,打造一些办公自动化的场景,让工作效率更高!

我有推出一个从入门到应用的 VBA 课程,有兴趣的朋友可以免费体验下(可以学习大概 3 个小时的内容),如果你觉得自己能听懂大部分,那这个课程就还是适合你的。

数据化管理 交易担保 放心买 VBA 课程免费体验入口 Mini Program

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多