如何让多条件众数取值公式无匹配时返回0而非#N/A?
解决无匹配时返回0的Excel公式问题
你可以通过IFERROR函数包裹原公式,捕获无匹配时的#N/A错误并返回0,同时补全原公式缺失的闭合括号:
=IFERROR(INDEX(Dec_23[Costed For],MODE(IF((Dec_23[AHS Product Code]="Accommodation")*(Dec_23[Project No.]=[@[Project No.]]),MATCH(Dec_23[Costed For],Dec_23[Costed For],0)))),0)
关键修改点:
- 补全语法错误:原公式末尾缺少两个闭合括号,导致公式本身无法正常执行,先补全确保语法正确
- 添加错误捕获:用
IFERROR函数包裹整个逻辑部分,当原公式返回任何错误(包括无匹配的#N/A)时,自动返回0 - 简化MATCH参数:原公式中
MATCH的第三个参数{0,0}可以简化为0,单个0即可实现精确匹配,效果一致
如果你更倾向于用ISNA函数实现,也可以使用以下写法(逻辑等价但代码更长):
=IF(ISNA(INDEX(Dec_23[Costed For],MODE(IF((Dec_23[AHS Product Code]="Accommodation")*(Dec_23[Project No.]=[@[Project No.]]),MATCH(Dec_23[Costed For],Dec_23[Costed For],0))))),0,INDEX(Dec_23[Costed For],MODE(IF((Dec_23[AHS Product Code]="Accommodation")*(Dec_23[Project No.]=[@[Project No.]]),MATCH(Dec_23[Costed For],Dec_23[Costed For],0)))))
内容的提问来源于stack exchange,提问作者Quinten
相关产品推荐
相关产品推荐

