You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets QUERY公式中加入F11条件实现多条件动态查询?

Google Sheets 多条件动态筛选公式修改方案

需求

现有单个条件(C11)的QUERY查询公式,需新增第二个条件(F11),实现同时满足两个条件或满足任意一个条件的动态筛选;当两个条件都为空时,显示全部数据。

原公式

=if(C11<>"";
QUERY(Dados!A1:V;"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where H matches '"&C11&"'");
QUERY(Dados!A1:V;"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where A is not null label ' ' ' '"))

修改后公式(无需MAP函数)

1. 满足任意一个条件(C11 或 F11)

=IF(AND(C11="", F11=""),
  QUERY(Dados!A1:V,"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where A is not null label ' ' ' '"),
  QUERY(Dados!A1:V,"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where 
    (H matches '"&IF(C11="",".*",C11)&"' OR K matches '"&IF(F11="",".*",F11)&"') 
    label ' ' ' '")
)

注:假设F11对应数据列是K,若实际对应其他列,直接替换公式里的K即可。空条件时用正则.*匹配该列所有内容,实现动态忽略空条件的效果。

2. 同时满足两个条件(C11 且 F11)

把上述公式里的OR换成AND即可:

=IF(AND(C11="", F11=""),
  QUERY(Dados!A1:V,"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where A is not null label ' ' ' '"),
  QUERY(Dados!A1:V,"select A, B, E, L, ' ', M, N, O, G, F, P, Q, R, T, I, J where 
    (H matches '"&IF(C11="",".*",C11)&"' AND K matches '"&IF(F11="",".*",F11)&"') 
    label ' ' ' '")
)

逻辑说明

  • 外层IF判断两个条件是否都为空,是则返回全量数据;
  • 内层通过IF(C11="",".*",C11)处理空条件:单元格为空时用.*匹配该列所有内容,相当于忽略此条件;
  • 用OR/AND组合条件,实现"任意满足"或"同时满足"的筛选规则。

内容的提问来源于stack exchange,提问作者onit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 06:03:22