单元格中文本的长度通常为 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
请问谁能帮我合并上述公式或建议一个完全不同的公式?
如果您有支持正则表达式搜索的工具,您只需按
\d{8}
进行搜索即可严格匹配您要查找的 8 位十进制数字。请参阅:regexr.com/7roem 并检查底部的“列表”。