【问题标题】:If True result based on a query output of 2 resultsIf True 结果基于 2 个结果的查询输出
【发布时间】:2020-02-19 15:58:41
【问题描述】:

在 F 列中,我有以下公式,它引用了工作表 2 列 G 的状态。查询公式产生 2 个结果填充单元格 F2 和 F3。我想要一个“if”公式,如果我的查询产生 2 个包含 yes 的单元格,yes 然后说 true,但如果它产生 yes,no 然后产生 false 或 no,no 产生 false。

这是供参考的工作表的链接。 https://docs.google.com/spreadsheets/d/1C5xWlw9vMZMNhXprSCBZsNp0T9qMxvuooIP8I6JoI2Y/edit#gid=0

【问题讨论】:

    标签: if-statement google-sheets google-sheets-formula array-formulas google-query-language


    【解决方案1】:

    删除 F2:F 范围并将其粘贴到 F2 单元格中:

    =ARRAYFORMULA(IFNA(VLOOKUP(A2:A&E2:E, QUERY({Sheet2!A2:A&Sheet2!B2:B, 
     IF(Sheet2!G2:G="yes", 1, 0)}, 
     "select Col1,sum(Col2) 
      where Col1 is not null 
      group by Col1 
      label sum(Col2)''"), 2, 0)=2))
    


    如果 Sheet2 作业并不总是成对使用:

    =ARRAYFORMULA(IFNA(VLOOKUP(A2:A&E2:E, QUERY({Sheet2!A2:A&Sheet2!B2:B, 
     IF(Sheet2!G2:G="yes", 1, 0)}, 
     "select Col1,sum(Col2) 
      where Col1 is not null 
      group by Col1 
      label sum(Col2)''"), 2, 0)=
     IFNA(VLOOKUP(A2:A&E2:E, QUERY({Sheet2!A2:A&Sheet2!B2:B, 
     IF(Sheet2!G2:G="yes", 1, 0)}, 
     "select Col1,count(Col2) 
      where Col1 is not null 
      group by Col1 
      label count(Col2)''"), 2, 0))))
    

    【讨论】:

    • 这产生了相反的结果——我不擅长数组函数,所以我会尝试更好地理解它以正确编辑它,但这是一种解决这个问题的好方法
    • 我仍然无法完全理解这个公式是如何产生真假结果的——我需要产生与此刻相反的结果。能给我解释一下吗?
    【解决方案2】:

    在一些很棒的人的合作下,我想出了一个答案。我现在解决它的方法是更改​​ where 子句以仅关注“False”响应并将其包装在 if 和 iferror 中以给我 True 响应

    =iferror(ifna(if(query(IMPORTRANGE("https:/...","range"),"select Col8 where Col1 = '"&A7&"' and '"&E7&"' = Col2 and Col8 = '否'",0)="否",FALSE,TRUE),TRUE),FALSE)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      相关资源
      最近更新 更多