首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在excel中查找由字母和数字组成的子字符串

在excel中查找由字母和数字组成的子字符串
EN

Stack Overflow用户
提问于 2017-06-05 06:33:04
回答 2查看 731关注 0票数 0

我目前正在处理一个需要分析的混乱的数据集。它是从一个遗留数据库上传的,该数据库只是将所有字段连接在一起,但是不同的数据点的不同字段是空的,因此没有简单的方法来拆分它们。

我已经确定,如果我可以在第一次出现同时包含字母和数字的单词时拆分字符串,则可以从中提取有用的信息(例如,abc123)。不幸的是,我无法使用启用宏的工作簿来完成这个任务,所以没有VBA或regex可以让它变得简单。

有没有办法确定字符串或子字符串是否包含字母和数字的组合?

示例数据:

电子邮件: PPL445 HEEN PAX 77820

44372-33-3223型CAP盒1550244盒PPSSA223 PAX

精准77透明蓝色99WIE盒子4403 PAX SSKA

EN

回答 2

Stack Overflow用户

发布于 2017-06-05 07:43:19

第一个块(C1:C3)是源数据。第二个(C5:K5)在解析(副本)后,将文本转换为列,空格分隔。第三个代码块在C9中有一个可怕的公式(上下复制以适应):

代码语言:javascript
运行
复制
   =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C5,0,""),1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),"-","")

其余部分下的第四个代码块在C13中包含此代码,并将其复制到合适的位置:

代码语言:javascript
运行
复制
=AND(LEN(C9)<>0,LEN(C9)<>LEN(C5))  

为了避免妨碍未知长度的块,请执行以下操作:

代码语言:javascript
运行
复制
=MATCH(TRUE,(C13:K13),0)  

是在A13中,并复制下来,以适应。‘输出’是在B13和以下,准备复制,粘贴特殊,值合适的地方,然后解析管道作为分隔符。

示例的结果应该是,在两列中:

代码语言:javascript
运行
复制
2283-332-44543 CAP DDT@ PPL445                      EEN PAX 77820
44372-33-3223 TYYTE CAP BOX 1550 244 BOX PPSSA223   AX
PRECISE 77 CLEAR BLUE 99WIE                         OX 4403 PAX SSKA
票数 0
EN

Stack Overflow用户

发布于 2017-06-05 07:49:06

我管理了一个糟糕的解决方案,但似乎奏效了:

首先,使用文本将数据拆分为列。然后,对于每个单元格,使用:

代码语言:javascript
运行
复制
=AND(COUNT(FIND({0,1,2,3,4,5,6,7,8,9},A2))>0, NOT(ISNUMBER(A2)) )

在那之后,很容易将所有处理第一个真的连接在一起,给我提供实际有用的数据。

感谢大家的帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44359450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档