If statement 在googlesheets查询的SELECT语句中使用IF

If statement 在googlesheets查询的SELECT语句中使用IF,if-statement,select,google-sheets,google-sheets-formula,If Statement,Select,Google Sheets,Google Sheets Formula,为了从我在Google Sheets中管理的主控表向会计人员提供相关数据,以便他在账单预订阶段进一步工作,查询功能需要满足这两个条件之一 母版在这里 会计人员了解自己需要做什么的两个条件是 如果满足上述两个条件之一,则需要显示数据 如果Col8=Yes,Col14=Done 如果Col8=No,Col11=Done 为此,我尝试了以下方法 Ifna(QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1pY53-XaGn

为了从我在Google Sheets中管理的主控表向会计人员提供相关数据,以便他在账单预订阶段进一步工作,查询功能需要满足这两个条件之一

母版在这里

会计人员了解自己需要做什么的两个条件是 如果满足上述两个条件之一,则需要显示数据

如果Col8=Yes,Col14=Done 如果Col8=No,Col11=Done 为此,我尝试了以下方法

Ifna(QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1pY53-XaGnUQ3BPmLh90mLSqIwSo7S2_QOPbD6JBQHOA/edit#gid=0","Master!A3:N")," Select Col1, Col2, Col3, Col4, Col5, Col7 "&IF(OR(AND(COL8 = "Yes", COL14 = "Done"), AND(COL8 = "No", COL11 = "Done")))&" "))
目前,这没有向我显示任何数据,也没有任何错误。但是,它应该向他显示3个数据


请帮我解决这个问题。

您需要将AND和OR直接放入查询中,如下所示:

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1pY53-XaGnUQ3BPmLh90mLSqIwSo7S2_QOPbD6JBQHOA/edit#gid=0","Master!A3:N")," Select Col1, Col2, Col3, Col4, Col5, Col7,Col8,Col11,Col14 where Col8='Yes' and Col14='Done' or Col8='No' and Col11='Done' ")
如果将IFNA从原始查询中删除,您可以看到有一个错误,因为If语句传递N/A。If语句传递N/A的原因是If语句没有第二个参数

如果将If语句缩减为

=OR(AND(COL8 = "Yes", COL14 = "Done"), AND(COL8 = "No", COL11 = "Done"))

它总是传递FALSE,因为COL8、COL11和COL14是有效的单元格引用,但指向当前工作表范围之外的空白单元格,因此它仍然不起作用。

您需要将and和OR直接放入查询中,如下所示:

=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/1pY53-XaGnUQ3BPmLh90mLSqIwSo7S2_QOPbD6JBQHOA/edit#gid=0","Master!A3:N")," Select Col1, Col2, Col3, Col4, Col5, Col7,Col8,Col11,Col14 where Col8='Yes' and Col14='Done' or Col8='No' and Col11='Done' ")
如果将IFNA从原始查询中删除,您可以看到有一个错误,因为If语句传递N/A。If语句传递N/A的原因是If语句没有第二个参数

如果将If语句缩减为

=OR(AND(COL8 = "Yes", COL14 = "Done"), AND(COL8 = "No", COL11 = "Done"))
它总是传递FALSE,因为COL8、COL11和COL14是有效的单元格引用,但是指向当前工作表范围之外的空白单元格,所以它仍然不起作用