Excel多条件IF/AND公式异常:SharePoint查询表始终返回No
原公式核心问题
- 错误使用
ISTEXT函数:ISTEXT(Governance_Master_List__2[Is the check c]="Yes")写法完全错误,ISTEXT仅用于判断单元格是否为文本类型,参数应为单元格引用,而非比较表达式。 - 逻辑结构混乱:混用
+与AND函数,嵌套层级错误,导致条件永远无法匹配,最终始终返回No。
正确公式写法
情况1:逐行判断当前行是否符合条件(用于表格列自动化标记)
如果是在结构化表格的新列中,判断当前行的三个字段是否满足要求,直接用AND组合条件即可:
=IF(AND(Governance_Master_List__2[@[Is the check c]]="Yes", Governance_Master_List__2[@[Merged Month and Year Due]]="January 2023", Governance_Master_List__2[@[Frequency]]="Weekly"), "Yes", "No")
- 用
@符号引用当前行对应列,是结构化表格的标准引用方式。
情况2:判断全表是否存在符合条件的记录(返回单个Yes/No)
如果要检查整个查询表中是否有满足三个条件的记录,可选用以下两种方法:
方法1:COUNTIFS(简洁高效)
=IF(COUNTIFS(Governance_Master_List__2[Is the check c], "Yes", Governance_Master_List__2[Merged Month and Year Due], "January 2023", Governance_Master_List__2[Frequency], "Weekly")>0, "Yes", "No")
方法2:SUMPRODUCT(兼容旧版Excel)
=IF(SUMPRODUCT(--(Governance_Master_List__2[Is the check c]="Yes"), --(Governance_Master_List__2[Merged Month and Year Due]="January 2023"), --(Governance_Master_List__2[Frequency]="Weekly"))>0, "Yes", "No")
--的作用是将布尔值(TRUE/FALSE)转换为1/0,方便SUMPRODUCT统计符合条件的行数。
额外排查要点
- 处理导入数据的空格:从SharePoint导入的内容可能带前后空格,导致匹配失败,可用
TRIM函数清理:=IF(AND(TRIM(Governance_Master_List__2[@[Is the check c]])="Yes", TRIM(Governance_Master_List__2[@[Merged Month and Year Due]])="January 2023", TRIM(Governance_Master_List__2[@[Frequency]])="Weekly"), "Yes", "No") - 匹配日期格式:如果
[Merged Month and Year Due]是日期类型而非文本,需用TEXT转换格式后匹配:=IF(AND(Governance_Master_List__2[@[Is the check c]]="Yes", TEXT(Governance_Master_List__2[@[Merged Month and Year Due]], "mmmm yyyy")="January 2023", Governance_Master_List__2[@[Frequency]]="Weekly"), "Yes", "No")
内容的提问来源于stack exchange,提问作者Nick.Q
相关产品推荐
相关产品推荐

