请考虑以下内容,
我有三栏,
日期,销售代表,收入
Date, Sales Rep, Revenue,
1/1/18 Jon £250
1/1/18 Evie £350
1/1/18 Muhammad £220
现在,要查询此数据,我可以执行以下操作:
IF(a2="","", QUERY(B2:C4, "Select * Where A = '"&A2&"')
现在我想知道的是,如果一个查询有多个下拉菜单,如何将多个查询嵌套到一个单元格中。一位选择销售代表,一位选择日期。因此,如果选择了销售代表和日期,他们将获得特定的日期和销售代表,但是如果选择了仅销售代表,则他们将获得所有销售,而与日期无关,如果可能,则选择相反的日期。
我尝试了OR语句
IF(OR(a2="","", QUERY(B2:C4, "Select * Where A = '"&A2&"'), IF(a3="","", QUERY(B2:C4, "Select * Where b = '"&A3&"'))) but this didn't work.
为方便起见,我创建了一些虚拟数据和一张裸纸。
https://docs.google.com/spreadsheets/d/15nlBPM9u3g0XNE3xbBgSZJxyHz2JjP9io1LfqGgX4CI/edit?usp=sharing
答案 0 :(得分:1)
我认为,一次处理SQL子句然后将其组合在一起会更容易。因此,例如在J2中,您可以放
=if(ISBLANK(E2),"","B = '"&E2&"'")
为空或其中的where子句。
在J3中做
=if(ISBLANK(E3),"","A = Date'"&text(datevalue(E3),"yyyy-mm-dd")&"'")
然后J4得到
=TEXTJOIN(" AND ",true,J2:J3)
并按以下步骤使用J5。
=if(isBlank(J4),"",query(A:C,"SELECT * WHERE " & J4))