我需要从同一文本字符串中提取多个 8 位数字,并将它们彼此分隔开。这可能吗?

问题描述 投票:0回答:1

单元格中文本的长度通常为 100-300 个字母和数字字符。我不需要日期或少于 8 位的数字。例如,单元格将具有如下文本组合:

DC ID 282261,PO 12345400,还有 22215212,PETBLANKET,23 年 11 月 14 日||重新分配项目原始 PO 22585122 和新 PO 12877441,07.26.23,GVAC || 5.3.23/重新添加到 CPTT/SW 更新并重新批准/Admiral||4.25 视频游戏系列,玩家按 APM WBEX || 4.24 每个 PP WBEX 已更新单位已确认 PO 已由 DCS 100% RCVD。经运输确认 0% 短缺。他们的牌组中没有牌。 11/8/23 PO 12994129 由于 PP 迁移而关闭

我希望的干净结果与此接近: 12345400, 22215212, 22585122, 12877441, 12994129
或者将它们放在右侧单独的列中

我已经尝试过这个公式,只有当单元格中总共有 5 个时才会出现第 1 次: =LET(z,TEXTSPLIT(A1," "),FILTER(z,(LEN(z)=8)*MMULT(SEQUENCE(,8,,0),1-ISERR(0+MID(z,SEQUENCE(8)) ),1)))=8))

结果:12345400

有一个公式可以提取每个数字,无论长度如何,数字之间没有空格或分隔符,返回一长串数字(包含我希望过滤掉的日期等):

=TEXTJOIN(, 1, TEXT(MID(B6, ROW($AB$1:INDEX($B$1:$B$1000, LEN(B6))), 1), "#;-#;0;"))

结果:28226112345400222152121114232258512212877441072623532342542410001182312994129

请问谁能帮我合并上述公式或建议一个完全不同的公式?

data-cleaning scrum number-with-delimiter
1个回答
0
投票

如果您有支持正则表达式搜索的工具,您只需按

\d{8}
进行搜索即可严格匹配您要查找的 8 位十进制数字。请参阅:regexr.com/7roem 并检查底部的“列表”。

© www.soinside.com 2019 - 2024. All rights reserved.