在 Excel 电子表格中,我有一列包含项目主数据(类型、项目编号、地址、主题等)的混合文本字符串。我需要从这个字符串中自动提取项目编号。一个问题是数字位于字符串中的不同位置。我猜这使得使用 =MID() 变得很困难。另一个问题是数字的长度不同。
3 个字符串的示例:
invoice no2014-0406-1 Main Street, John Nelson, 购置
税 projno 2015-0021 拒绝申请
gl oldroad 10 case 2014-0306-003 HUKO, JFR
从我需要提取的字符串中:
2014-0406-1
2015-0021
2014-0306-003
我希望这可以自动完成。在此先感谢您的帮助!:)
当您感兴趣的字符串可以根据您的第一个示例直接附加到文本时,看起来这实际上可能有点困难。如果在项目编号的最后不是这种情况并且它们总是以空格结尾,并且您可以使用考虑到 2000 年以后的项目编号的解决方案,您可以尝试:
请注意,这可以使用 Microsoft365 简化为:
如果这是为了简化并且您可以有边缘情况,例如:“test-test test2014-0406-5test 2020”,您可以尝试:
编辑:
请注意,您也可以使用正则表达式,但这需要您使用 VBA。也许下面的UDF会做:
调用为
=GetProjectID(A1,"\d+-\d+(?:-\d+)*")