上面这个公式返回的结果只有10位数字,我需要前缀和10位数字的结果
时间: 2024-03-03 22:48:46 浏览: 15
非常抱歉,我的回答还是存在误解。如果你需要提取以"DA"、"DZ"和"MP"为前缀的子串以及它们后面的10个数字,可以使用以下公式:
```
=IFERROR("DA"&MID(C2,FIND("DA",C2)+2,10),"")&IFERROR("DZ"&MID(C2,FIND("DZ",C2)+2,10),"")&IFERROR("MP"&MID(C2,FIND("MP",C2)+2,10),"")
```
这个公式会使用三个IFERROR函数来分别提取以"DA"、"DZ"和"MP"为前缀的子串以及它们后面的10个数字,并将它们合并成一个字符串输出。如果某个前缀的子串不存在或后面不足10位数字,对应的输出会留空。
请注意,这个公式假设符合要求的子串后面都恰好有10位数字。如果实际情况不是这样,可能需要稍微修改一下公式中的参数。
相关问题
上面公式没有体现寻找"DA"和"MP"为前缀的子串后面的10位数字
非常抱歉,我理解错误了你的意思。如果你需要同时提取以"DA"、"DZ"和"MP"为前缀的子串后面的10位数字,可以使用以下公式:
```
=IFERROR(MID(C2,FIND("DA",C2)+2,10),"") & IFERROR(MID(C2,FIND("DZ",C2)+2,10),"") & IFERROR(MID(C2,FIND("MP",C2)+2,10),"")
```
这个公式会使用三个MID函数来分别提取以"DA"、"DZ"和"MP"为前缀的子串后面的10位数字,并将它们合并成一个字符串输出。如果某个前缀的子串不存在或后面不足10位数字,对应的输出会留空。
请注意,这个公式假设符合要求的子串后面都恰好有10位数字。如果实际情况不是这样,可能需要稍微修改一下公式中的参数。
我知道哪里错误了,我需要的是这些前缀和它们后面的10个数字,不是10个字符
如果你需要提取的是前缀和后面的10个数字而不是10个字符,可以使用以下公式:
```
=FILTERXML("<root><s>"&SUBSTITUTE(C2," ","</s><s>")&"</s></root>","//s[starts-with(., 'DA') or starts-with(., 'DZ') or starts-with(., 'MP')]/concat(substring(., 1, 2), substring(., 3))")
```
这个公式将字符串中所有以"DA"、"DZ"或"MP"为前缀的子串筛选出来,并将子串的前两个字符和后面的10个字符合并成一个字符串输出。这样就可以得到前缀和后面的10个数字了。
请注意,这个公式假设所有符合要求的子串后面都有10个数字。如果实际情况不是这样,可能需要稍微修改一下公式中的参数。