【问题标题】:If function based on query function resultsif函数基于查询函数结果
【发布时间】:2020-02-05 18:31:46
【问题描述】:

你能用 if 函数包装一个查询函数吗?

我的查询可以产生 3 个结果,是的,是的,是的,不是的,不是的。这些结果出现在两个不同的单元格中。我希望 if 函数然后说 - 是的 - 真,其他任何一个结果都是假的。简单地这样做只会出错。

【问题讨论】:

  • 你能展示一下你的工作表是什么样子的吗?从纯文本很难弄清楚那里实际发生了什么:-)
  • 分享您的工作表副本以及所需结果的示例或分享您使用的公式并给您错误
  • =query((IMPORTRANGE("https://.....","Nokia 2020!A1:K200")), "select Col7 where Col1 = '"&A5&"' and Col2 = '"&E5&"'",0) 这是原始查询函数,它产生 2 个单元格结果是的是
  • 我无法添加图像来显示结果的样子。我在这个链接上创建了一个虚拟版本,试图给出一个更好的想法docs.google.com/spreadsheets/d/…
  • 请授予公众查看此文件的权限。

标签: if-statement google-sheets google-sheets-formula


【解决方案1】:

公式的包装

  • IF 公式的语法为 IF(logical_expression, value_if_true, value_if_false)
  • 因此,逻辑表达式可以是值的比较,例如IF(value="Yes", TRUE, FALSE)
  • 在这种情况下,值可以是
    • 一个固定值,例如一个字符串
    • 单元格引用,例如IF(J2="Yes", TRUE, FALSE)
    • 嵌套公式,可以查询
  • 就您而言,您对后者感兴趣,因此:

=IF(query(Sheet2!A1:J7,"select G where A = '"&A2&"' and '"&E2&"' = B",0)="Yes", TRUE, FALSE)

【讨论】:

  • 这行不通,因为我的查询结果有 2 个结果,有 3 个可能的输出 - 是的,是的,是的,不是的,不是的。如果结果是肯定的,那么上面的公式仍然会显示为真,在这种情况下我希望它显示为假。主要问题是结果占据了 2 个不同的单元格。
  • 我想我现在明白你的意思了。也许公式=IF(and(J2="Yes", J3="Yes"), TRUE, FALSE) 你想要什么?
【解决方案2】:

我能够使用 IFS 函数得到答案 =ifs(query(Sheet2!A3:J9,"select G where A = '"&A4&"' and '"&E4&"' = B",0)= "yes","TRUE",query(Sheet2!A3:J9,"select G where A = '"&A4&"' and '"&E4&"' = B",0)="no","FALSE")

解决了简单的if函数无法解决的问题

【讨论】:

  • ***如果结果是 Yes No,这仍然不能解决问题,它仍然只是将 yes 读取为 true 并忽略第二个输出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多