Google sheets Google Sheets中查询内的IF语句

Google sheets Google Sheets中查询内的IF语句,google-sheets,google-sheets-query,Google Sheets,Google Sheets Query,我有一个谷歌表,其中列出了几个项目。 通过查询功能,我可以将信息检索到另一个工作表中,以便进行报告 我使用的公式是: =查询($A$2:$D$8,“如果(或($C2=1,$C2=2,$C2=3),选择A、B、D,选择A、B、C)”,0) 我正在努力做的是在查询函数中放置一个IF语句 如果状态(Col2)值为“1”、“2”或“3”,我希望获得日期2(Col4)值。否则,如果Status(Col2)值为“4”、“5”或“6”,我希望查询返回日期1(Col3) 任何帮助都会被告知。 谢谢 公式如下:

我有一个谷歌表,其中列出了几个项目。 通过查询功能,我可以将信息检索到另一个工作表中,以便进行报告

我使用的公式是: =查询($A$2:$D$8,“如果(或($C2=1,$C2=2,$C2=3),选择A、B、D,选择A、B、C)”,0)

我正在努力做的是在查询函数中放置一个IF语句

如果状态(Col2)值为“1”、“2”或“3”,我希望获得日期2(Col4)值。否则,如果Status(Col2)值为“4”、“5”或“6”,我希望查询返回日期1(Col3)

任何帮助都会被告知。 谢谢


公式如下:

=ArrayFormula(query({A2:B8,if(B2:B8<=3,D2:D8,C2:C8)},"select *"))

=ArrayFormula(查询({A2:B8,如果有(B2:B8因此可以在查询中包含IF语句。要记住的主要一点是,查询是文本,因此您必须结束引用并包含引用,然后重新启动引用。这就像通过公式创建句子一样。例如,您可以添加以下文本作为次要条件:

"&if(T3="",""," and H = '"&T3&"'")&"
我希望能够有条件地缩小结果的范围。因此,如果我在T3中有一个值,那么H列的条件将添加到我的查询中。否则,它将被忽略

如果我搞砸了一些事情或者没有什么意义,下面是我实际的完整公式。我还使用驻留在Q3、R3和S3中的过滤器进行查询

=query(Transactions!B1:H, "select B,C,D,E,F,G where B > date '"&TEXT(DATEVALUE(Q3),"yyyy-mm-dd")&"' and B <= date '"&TEXT(DATEVALUE(R3),"yyyy-mm-dd")&"' and D = '"&S3&"'"&if(T3="",""," and H = '"&T3&"'")&" order by B desc limit 50",1)

=query(Transactions!B1:H,“选择B、C、D、E、F、G,其中B>date'”&TEXT(DATEVALUE(Q3),“yyyy-mm-dd”)&“&B您必须在您的查询之外使用if语句,如以下回答所示:抱歉(非常抱歉)回复太晚。我只是试图实现另一个答案中的解决方案,但对我来说效果不太好。我的目标是:在E列(仅在本列)中,查询应该显示Col4的值。如果Col2中的值是3,则查询应该显示(在同一列E中)Col3Thanks Tom的值!这很有效。我只是更改了“选择*“以选择Col3”,因为我只需要根据IF条件查询以显示批准日期。
=query(Transactions!B1:H, "select B,C,D,E,F,G where B > date '"&TEXT(DATEVALUE(Q3),"yyyy-mm-dd")&"' and B <= date '"&TEXT(DATEVALUE(R3),"yyyy-mm-dd")&"' and D = '"&S3&"'"&if(T3="",""," and H = '"&T3&"'")&" order by B desc limit 50",1)