上面这个公式查找DZ2305160048 BL.pdf的时候,没有显示DZ2305160048,我的需求你是得到DZ2305160048这样的结果
时间: 2024-03-03 12:47:22 浏览: 12
如果您需要查找的字符串格式是类似于 "DZ2305160048 BL.pdf" 这样的,可以使用以下公式:
```
=IFERROR(REGEXEXTRACT(C2,"(DA|DZ|MP)\d{10}"),"")
```
这个公式会在 C2 格子里查找内容,如果内容中包含 DA、DZ 或 MP 中的任意一个特殊字符,并且这些字符后面有 10 位数字字符,就会把这个特殊字符以及它后面的 10 位数字显示出来。如果没有符合条件的内容,公式会返回空字符串。
对于 "DZ2305160048 BL.pdf" 这个字符串,公式会返回 "DZ2305160048",而忽略掉 ".pdf" 这部分内容。
相关问题
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位数字之前必须有一个空格或句点。如果字符串中的格式不一样,可能需要稍微修改一下公式中的参数。