Excel统计CSV文件A列去.jpg后与C列匹配单元格数报错求助
Excel匹配计数公式错误修正方案
错误原因
你之前使用的公式存在两个核心问题:
COUNTIF函数的第二个参数仅支持输入单个匹配条件,你传入了C1:C100整段区域,不符合函数参数规则,直接触发报错SUBSTITUTE直接作用于整段区域的写法,在非动态数组版本的Excel中无法自动批量处理每一行的A列内容,就算修正参数也无法得到正确结果
正确解决方法
直接使用兼容性更强的SUMPRODUCT函数实现需求,不需要依赖动态数组特性,公式如下:
=SUMPRODUCT(--(SUBSTITUTE('file:///usr/local/elanpr-src/plateRecognitionResult.csv'#$plateRecognitionResult.A1:A100, ".jpg", "")='file:///usr/local/elanpr-src/plateRecognitionResult.csv'#$plateRecognitionResult.C1:C100))
公式说明
- 逐行对比替换后的A列内容和C列内容,匹配返回
TRUE,不匹配返回FALSE - 两个减号
--的作用是将布尔值转换为数值:TRUE转为1,FALSE转为0 SUMPRODUCT对所有转换后的数值求和,最终结果就是匹配的单元格总数量
特殊场景优化
如果你的文件名可能存在多个.jpg字符(例如test.jpg.bak.jpg),只需要替换末尾4位后缀,可以把SUBSTITUTE部分替换为LEFT+LEN的组合,公式如下:
=SUMPRODUCT(--(LEFT('file:///usr/local/elanpr-src/plateRecognitionResult.csv'#$plateRecognitionResult.A1:A100, LEN('file:///usr/local/elanpr-src/plateRecognitionResult.csv'#$plateRecognitionResult.A1:A100)-4)='file:///usr/local/elanpr-src/plateRecognitionResult.csv'#$plateRecognitionResult.C1:C100))
旧版Excel适配
如果你使用的是2019及更早的非动态数组版本Excel,输入完上述公式后,按下Ctrl+Shift+Enter三键触发数组运算即可正常生效。
内容的提问来源于stack exchange,提问作者user17085185
相关产品推荐
相关产品推荐

