Google Sheets使用ARRAYFORMULA统计两列值对应出现次数报错问询
错误原因
你当前公式报错的核心原因是COUNTIF函数的语法不符合Google Sheets规范:
COUNTIF仅支持2个入参:COUNTIF(统计范围, 匹配条件),你传入了3个参数('2021ContractsData'!L:L、"Where L='Manual (M)'"、B2:B),不符合参数要求- 不能直接用SQL风格的Where语句作为函数条件,需要按表格函数规则写匹配逻辑
修正方案
根据你描述的需求,分两种常见场景给出修正后的公式:
场景1:统计'2021ContractsData'!L:L中等于Manual (M),且同时等于当前表对应行B列值的出现次数
如果你的需求是对B列的每个值,统计L列里同时满足「值为Manual (M)」和「值等于当前B行内容」的条目数,直接合并匹配条件即可,修正后公式:
=ARRAYFORMULA(IF(ROW(A2:A)=2,"Manual Type",IF(B2:B="","",COUNTIF('2021ContractsData'!L:L,B2:B))))
注:该场景下如果B列的值不是Manual (M),返回的统计结果自然为0,符合L列仅两个选项的设定
场景2:统计'2021ContractsData'表中,「某匹配列等于当前表B列值」且「L列等于Manual (M)」的出现次数
如果你是要对比B列值和另一业务列(比如合同编号列、客户名列,假设为'2021ContractsData'!C:C,可自行替换为实际列)的匹配次数,同时满足L列为Manual (M),需要用支持多条件的COUNTIFS函数,修正后公式:
=ARRAYFORMULA(IF(ROW(A2:A)=2,"Manual Type",IF(B2:B="","",COUNTIFS('2021ContractsData'!C:C,B2:B,'2021ContractsData'!L:L,"Manual (M)"))))
注:把公式中的'2021ContractsData'!C:C替换为你实际要和B列对比的业务列即可
内容的提问来源于stack exchange,提问作者geneavone
相关产品推荐
相关产品推荐

