【问题标题】:Google Sheets IF&AND functions giving contradicting results谷歌表格如果和函数给出矛盾的结果
【发布时间】:2020-07-20 15:07:33
【问题描述】:

我在使用 Google 表格中的公式时遇到了一些问题。对我来说,这没有任何意义,为什么它在一个地方而不是另一个地方工作。 所以,这是我的示例Spreadsheet

我的目标是将 D 列中的结果复制到 E 列,但内置了一个过滤器,用于过滤 A 列,公司。

这是运行良好的公式:

=ArrayFormula(TEXTJOIN(", ",TRUE,Unique(IF(B4=B:B,C:C,""))))

我需要 IF 部分来取另一个条件,即 A=A:A

=ArrayFormula(TEXTJOIN(", ",TRUE,Unique(IF(AND(A4=A:A,B4=B:B),C:C,"NOT GOOD"))))

所以我认为 AND 会像在其他地方那样做。但在这种特殊情况下,这似乎不起作用并且每次都会出错。 我检查了一下,基于此逻辑似乎很好(给出预期结果):

=ArrayFormula(TEXTJOIN(", ",TRUE,Unique(IF(AND(TRUE,TRUE),C:C,"NOT GOOD"))))

奇怪的是,如果我选择 IF 公式,它告诉我 AND 中的两个条件都为真,但它仍然给我 FALSE 结果。 showing true, but results in false

我很难理解为什么会这样?我希望你能帮忙。提前谢谢你。

【问题讨论】:

  • 嘿,我想我可以帮助演示工作表中的解决方案/问题,如果您将其设为可编辑而不是仅查看。
  • @MattKing,谢谢,我让它可以编辑了!
  • 你不能像你试图做的那样在数组布尔逻辑中使用 AND() 。您需要用乘法替换 AND(),用加法替换 OR()。所以例如,而不是 AND(A4=A:A,B4=B:B) 你会写 (A4=A:A)*(B4=B:B)

标签: google-sheets formula array-formulas


【解决方案1】:

我创建了一个名为 MK.Help 的新标签,并将这个公式放在单元格 B2 中:

=UNIQUE('Combined Job Catalogue'!A3:B)

然后这个公式在单元格 D3 中并向下拖了几十行:

=IF(C3="",,JOIN(", ",UNIQUE(FILTER('Combined Job Catalogue'!C:C,'Combined Job Catalogue'!A:A=B3,'Combined Job Catalogue'!B:B=C3))))

那是目标吗?

【讨论】:

  • 您好,非常感谢!这完美地工作。另一方面,我仍然不知道我的公式中的逻辑缺陷是什么:(
  • 您不能像您尝试做的那样在数组布尔逻辑中使用 AND()。您需要用乘法替换 AND(),用加法替换 OR()。所以例如,而不是 AND(A4=A:A,B4=B:B) 你会写 (A4=A:A)*(B4=B:B)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-25
  • 2019-09-03
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多