C2格子里的内容是DZ2305160048 BL.pdf,输入这个公式:=IFERROR(REGEXEXTRACT(D2,"(DA|DZ|MP)\d{10}"),"")没有返回计算结果
时间: 2023-07-19 13:23:46 浏览: 42
这个公式在理论上是可以匹配到 "DZ2305160048" 这个字符串的,但是可能是因为公式的格式不正确导致无法计算,您可以尝试检查一下公式是否有以下问题:
1. 括号是否配对:公式中的括号必须是成对出现的,如果括号不匹配会导致公式无法计算。
2. 引号是否正确:如果公式中包含字符串,需要使用双引号或单引号将字符串括起来,确保引号的开头和结尾是成对出现的。
3. 函数名是否正确:公式中使用的函数名称必须正确无误,否则会导致公式无法计算。
4. 单元格引用是否正确:如果公式中使用了单元格引用,需要确保引用的单元格地址、工作表名称等信息都正确无误。
如果您确认公式没有以上问题,可以尝试重新输入公式或者在公式前面加上等号 " = ",确保公式被正确识别为 Excel 公式。
另外,您也可以尝试使用以下公式来查找符合要求的字符串:
```
=IFERROR(REGEXEXTRACT(C2,"(DA|DZ|MP)\d{10}"),"")
```
这个公式与之前给出的公式是相同的,只是将单元格引用从 D2 改为了 C2。如果这个公式仍然无法计算,请检查一下公式格式是否正确,并确保您的 Excel 支持使用正则表达式函数。
相关问题
C2格子内容是提单DZ2305160048 BL.pdf,在D2输入上面的公式报错
这个错误可能是因为字符串中没有以"DA"、"DZ"或"MP"为前缀的子串,导致FILTERXML函数无法筛选出任何结果。
你可以先尝试在一个单元格中使用以下公式来检查一下字符串中是否包含符合要求的子串:
```
=FILTERXML("<root><s>"&SUBSTITUTE(C2," ","</s><s>")&"</s></root>","//s[starts-with(., 'DA') or starts-with(., 'DZ') or starts-with(., 'MP')]/text()")
```
如果这个公式返回空值,说明字符串中没有符合要求的子串。你可以检查一下字符串的内容,看看是否输入正确,或者是否需要修改筛选条件。
如果这个公式返回了一些子串,说明字符串中包含符合要求的子串。你可以再尝试使用完整的公式来提取这些子串后面的10位数字。
C2格子内容是提单DZ2305160048 BL.pdf,观察发现内容含有我需要的DZ2305160048,公式怎么报错没找到呢
如果你确定字符串中包含了符合条件的子串,但公式仍然无法正确筛选出这些子串,可能是因为FILTERXML函数无法正常工作导致的。
在这种情况下,你可以尝试使用以下公式来替代原来的公式,看看是否能够正常工作:
```
=MID(C2,FIND("DA",C2),IFERROR(FIND(" ",C2,FIND("DA",C2))-FIND("DA",C2),IFERROR(FIND(".",C2,FIND("DA",C2))-FIND("DA",C2),LEN(C2)+1))-FIND("DA",C2)+2)&MID(C2,FIND("DZ",C2),IFERROR(FIND(" ",C2,FIND("DZ",C2))-FIND("DZ",C2),IFERROR(FIND(".",C2,FIND("DZ",C2))-FIND("DZ",C2),LEN(C2)+1))-FIND("DZ",C2)+2)&MID(C2,FIND("MP",C2),IFERROR(FIND(" ",C2,FIND("MP",C2))-FIND("MP",C2),IFERROR(FIND(".",C2,FIND("MP",C2))-FIND("MP",C2),LEN(C2)+1))-FIND("MP",C2)+2
```
这个公式会使用三个MID函数来分别提取以"DA"、"DZ"和"MP"为前缀的子串后面的10位数字,并将它们合并成一个字符串输出。
请注意,这个公式假设子串后面的10位数字之前必须有一个空格或句点。如果字符串中的格式不一样,可能需要稍微修改一下公式中的参数。