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

Google Sheets数组查询嵌套双逻辑表达式的实现问题

Google Sheets 排班公式扩展问题

现有一个排班生成器公式,可根据选中日期($B$2)在Pilots工作表中筛选对应日期列标记为"P1"的成员:

=iferror(query(ARRAYFORMULA(IF(INDEX(Pilots!$D$17:$140, , MATCH($B$2, Pilots!$D$1:$1, 0)) = "P1", Pilots!$D$17:$D$140, "")),"select * where Col1 is not null",0))

现在需要扩展公式,要求同时满足Pilots!$H$17:$140为TRUE(复选框选中),并将结果填充到Schedule Builder!I31:J37区域。


修改后的公式

=IFERROR(QUERY(
  ARRAYFORMULA(
    IF(
      (INDEX(Pilots!$D$17:$140, , MATCH($B$2, Pilots!$D$1:$1, 0)) = "P1") * (Pilots!$H$17:$H$140 = TRUE),
      Pilots!$D$17:$D$140,
      ""
    )
  ),
  "select * where Col1 is not null",
  0
))

公式说明

  1. 在ARRAYFORMULA的条件中,用*连接两个判断条件,实现逻辑与(同时满足):
    • 第一个条件:对应日期列的值为"P1"
    • 第二个条件:H列的复选框为TRUE
  2. *在数组公式中会将布尔值转换为1/0,只有两个条件都为TRUE(即1*1=1)时,才返回对应的成员姓名,否则返回空字符串
  3. 外层的QUERY和IFERROR保持原有逻辑,过滤空值并处理错误

如果需要返回多列数据(比如姓名+其他信息),可调整Pilots!$D$17:$D$140为对应多列范围(例如Pilots!$D$17:$E$140),直接保留数组返回即可。


内容的提问来源于stack exchange,提问作者Sascha N.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:46:05