Excel公式查找INV后带空格+数字的单元格及格式修正问询
Excel公式优化方案:定位并修正INV格式单元格
一、定位并修正「INV+一个/多个空格+数字」的单元格
1. 精准定位公式(Excel 365及以上版本)
要匹配INV后跟随一个或多个空格再接数字的情况,正则匹配比原单一空格匹配更准确,可用于条件格式高亮:
=REGEXMATCH([@Narrative], "INV\s+\d")
返回TRUE即符合目标格式。
2. 自动修正格式公式(Excel 365及以上版本)
直接移除INV与后续数字之间的所有空格,统一格式为INVxxxxxxx:
=REGEXREPLACE([@Narrative], "(INV)\s+(\d)", "$1$2")
示例中「PAID INV 1425290 FROM SYD CAPITAL」会被修正为「PAID INV1425290 FROM SYD CAPITAL」。
旧版Excel兼容方案
若无法使用REGEX函数,用传统公式实现:
- 定位公式:
=IF(ISNUMBER(SEARCH("INV ", [@Narrative])), ISNUMBER(MID([@Narrative], SEARCH("INV ", [@Narrative])+4, 1)*1), FALSE)
- 修正格式公式:
=SUBSTITUTE([@Narrative], "INV ", "INV", 1)
二、验证「INV直接紧跟7位数字」的单元格
精准验证公式(Excel 365及以上版本)
用正则匹配INV后严格跟随7位数字的情况:
=REGEXMATCH([@Narrative], "INV\d{7}")
返回TRUE即符合标准格式,比如示例中的「Payment INV1526352 Aug ST」会被匹配。
旧版Excel兼容方案
=IF(ISNUMBER(SEARCH("INV", [@Narrative])), AND(LEN(MID([@Narrative], SEARCH("INV", [@Narrative])+3, 7))=7, ISNUMBER(MID([@Narrative], SEARCH("INV", [@Narrative])+3, 7)*1)), FALSE)
内容的提问来源于stack exchange,提问作者kimini
相关产品推荐
相关产品推荐

