COUNTIF/嵌套IF/SUMPRODUCT跨工作簿取值错误排查与公式整合求助
问题根因
- 分支2的COUNTIF语法错误:原公式将
>1的计数判断写在COUNTIF参数内部,无法正确识别商业登记ID重复的场景 - 原1a/1b分支存在括号未闭合、SUMIF参数顺序写反问题,运行时存在隐式报错
- SUMPRODUCT匹配逻辑中的范围未做绝对引用锁定,下拉填充时范围偏移,返回错误匹配值
- 未前置存在性校验,跨工作簿匹配时VLOOKUP直接返回#N/A会打断整个判断链
修复后单单元格嵌套公式
所有逻辑已整合完成,可直接粘贴到目标单元格使用,下拉填充即可批量计算:
=IF(AND(COUNTIF([export.xlsx]Sheet1!$E:$E,B1)>0,COUNTIF('[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B:$B,B1)>0),IF(VLOOKUP(B1,[export.xlsx]Sheet1!$E:$E,1,0)=VLOOKUP(B1,'[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B:$B,1,0),SUMIF([export.xlsx]Sheet1!$E:$E,B1,[export.xlsx]Sheet1!$I:$I),VLOOKUP(B1,'[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B:$M,12,0)+SUMIF([export.xlsx]Sheet1!$E:$E,B1,[export.xlsx]Sheet1!$I:$I)),IF(COUNTIF('[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B:$B,B1)>1,SUMPRODUCT(MAX((--('[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B$2:$B$1000=B1)*--('[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$S$2:$S$1000=SUMPRODUCT(MAX(--('[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B$2:$B$1000=B1)*'[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$S$2:$S$1000))))*'[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$M$2:$M$1000)),IFERROR(VLOOKUP(B1,'[Credit Limit Requests (no existing SAP IDs).xlsx]No SAP ID'!$B:$M,12,0),0)))
使用注意事项
- 2019及更早版本Excel使用该公式时,输入完成后需按
Ctrl+Shift+Enter组合键确认数组公式 - 所有跨工作簿引用需保证对应工作簿处于打开状态,否则会返回#REF!错误
- 若信用额度申请表数据行数超过1000行,将公式中
$B$2:$B$1000、$S$2:$S$1000、$M$2:$M$1000的结束行号修改为实际最大行号即可
内容的提问来源于stack exchange,提问作者Chef
相关产品推荐
相关产品推荐

