当前位置: 代码网 > 办公软件>Excel>Excel > Excel 数据整理技巧之提取指定字符

Excel 数据整理技巧之提取指定字符

2024年05月30日 Excel 我要评论
锵锵~ 大家好哇!我是爱用 Excel 解决工作问题的卫星酱~有关数据分析的内容,卫某我分享过很多回啦,关于提取数据的技巧,更是涉及到两次!

锵锵~ 大家好哇!我是爱用 excel 解决工作问题的卫星酱~

有关数据分析的内容,卫某我分享过很多回啦,关于提取数据的技巧,更是涉及到两次!

没办法,毕竟经常要用到~

鉴于前两次的文章只是提及,而没有详细讲解过数据提取在工作中的实际运用;

今天我就来一期专题解答,给大家介绍 excel 实战之 —— 提取指定字符

看完本篇,相信大家下次再碰见这类问题,都能更高效快捷地完成~

我有个朋友小 b,她开了一家网店,平时用 excel 统计商品售卖情况。

这是她从网页导出的部分数据:

为了方便分析哪种款式最受欢迎,需要对上述数据进行清洗,也就是提取出「三层 70」这一部分的有效内容。

textbefore 和 textafter 函数

使用公式定位「漆」字之后到「c」之前的位置:

=textbefore(textafter(b2"漆")"c")

公式简单又好理解。

但只有 office 365 和新版 wps 才能使用……

mid 函数

=mid(b2,find("无漆"b2)+2,search("cm"b2)-find("无漆"b2)-2)

公式解析:

=mid(b2,❶,❷)

❶ find ("无漆",b2)+2

先用 find 函数找到「无漆」的位置,并向右偏移 2 个字符,也就是跳过「无漆」这个词本身,所以 mid 函数从❶的位置开始提取;

❷ search ("cm",b2)-find ("无漆",b2)-2

这里我们整理一下,就是 search ("cm",b2)-❶,也就是用 search 找到 cm 的位置,计算出「无漆」之后到「cm」之前的字符数。

这个公式虽然比较复杂,但本质上仍然是「提取 x 之后,y 之前」的思路~

vba 自定义函数

记不住旧函数的公式也没事,这里另有出路~

按下 alt + f11 打开 vba 编辑器。

在 vba 编辑器中,右击 vbaproject,选择【 插入 】-【模块】。

在新模块窗口中,复制并粘贴以下代码:

function tb(text as string, search as string) as string    ' 找到search字符串在text中的位置    dim pos as integer    pos = instr(1, text, search, vbtextcompare)    ' 如果找到了,返回search之前的所有文本    if pos  0 then        tb = left(text, pos - 1)    else        ' 如果没有找到search,返回空字符串        tb = ""    end ifend function

function ta(text as string, search as string) as string    ' 找到search字符串在text中的位置    dim pos as integer    pos = instr(1, text, search, vbtextcompare)    ' 如果找到了,返回search之后的所有文本    if pos  0 then        ta = mid(text, pos + len(search))    else        ' 如果没有找到search,返回空字符串        ta = ""    end ifend function

关闭 vba 编辑器,回到 excel 界面。

然后咱们就能用方法一中的公式了

=tb(ta(b2"漆")"c")

好了,今天分享了三种字符提取的实战运用~

技巧学得再多,能在工作中投入使用才是有效技巧哦!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com