我目前正在处理一个需要分析的混乱的数据集。它是从一个遗留数据库上传的,该数据库只是将所有字段连接在一起,但是不同的数据点的不同字段是空的,因此没有简单的方法来拆分它们。
我已经确定,如果我可以在第一次出现同时包含字母和数字的单词时拆分字符串,则可以从中提取有用的信息(例如,abc123)。不幸的是,我无法使用启用宏的工作簿来完成这个任务,所以没有VBA或regex可以让它变得简单。
有没有办法确定字符串或子字符串是否包含字母和数字的组合?
示例数据:
电子邮件: PPL445 HEEN PAX 77820
44372-33-3223型CAP盒1550244盒PPSSA223 PAX
精准77透明蓝色99WIE盒子4403 PAX SSKA
发布于 2017-06-05 07:43:19
第一个块(C1:C3)是源数据。第二个(C5:K5)在解析(副本)后,将文本转换为列,空格分隔。第三个代码块在C9中有一个可怕的公式(上下复制以适应):
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C5,0,""),1,""),2,""),3,""),4,""),5,""),6,""),7,""),8,""),9,""),"-","")
其余部分下的第四个代码块在C13中包含此代码,并将其复制到合适的位置:
=AND(LEN(C9)<>0,LEN(C9)<>LEN(C5))
为了避免妨碍未知长度的块,请执行以下操作:
=MATCH(TRUE,(C13:K13),0)
是在A13中,并复制下来,以适应。‘输出’是在B13和以下,准备复制,粘贴特殊,值合适的地方,然后解析管道作为分隔符。
示例的结果应该是,在两列中:
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
发布于 2017-06-05 07:49:06
我管理了一个糟糕的解决方案,但似乎奏效了:
首先,使用文本将数据拆分为列。然后,对于每个单元格,使用:
=AND(COUNT(FIND({0,1,2,3,4,5,6,7,8,9},A2))>0, NOT(ISNUMBER(A2)) )
在那之后,很容易将所有处理第一个真的连接在一起,给我提供实际有用的数据。
感谢大家的帮助。
https://stackoverflow.com/questions/44359450
复制相似问题