我正在尝试制作一张表来计算数据实例的数量,并且某些响应将被分组在一起。我在正确提出这三个公式时遇到问题。以下是我的最佳猜测以及一些英语,以帮助阐明我想要完成的任务。
//Count all cells that are Warrior or Paladin [Always returns 1, and not zero]
=COUNTA(FILTER(I:I, OR(I:I="Warrior", I:I="Paladin")))
//Count all cells that are Scholar or White Mage [Always returns 1, and not zero]
=COUNTA(FILTER(I:I, OR(I:I="Scholar", I:I="White Mage")))
//Count all cells that are do not all within the first sets of requirements [Always returns 1, not 2]
=COUNTA(FILTER(I:I, NOT(OR(I:I="Warrior", I:I="Paladin", I:I="Scholar", I:I="White Mage"))))
这两个单元分别是武僧和召唤师。任何帮助将不胜感激
编辑:Here是一个示例电子表格。
最佳答案
至少有两个问题:
OR 不能在数组表达式中迭代数组;您将需要使用 + 操作数。
如果没有输出,FILTER 将返回 #N/A,并且 COUNTA 会将此错误值计为 1。因此,当预期为 0 时,您将得到 1;使用 IFERROR 来解释这一点。
=COUNTA(IFERROR(FILTER(I:I,(I:I="Warrior")+(I:I="Paladin"))))
=COUNTA(IFERROR(FILTER(I:I,(I:I="Scholar")+(I:I="White Mage"))))
=COUNTA(IFERROR(FILTER(I:I,I:I<>"Warrior",I:I<>"Paladin",I:I<>"Scholar",I:I<>"White Mage")))
第一个和第三个公式的替代方案更容易扩展:
=COUNTA(IFERROR(FILTER(I:I,MATCH(I:I,{"Warrior";"Paladin"},0))))
=COUNTA(IFERROR(FILTER(I:I,ISERROR(MATCH(I:I,{"Warrior";"Paladin";"Scholar";"White Mage"},0)))))
关于google-sheets - 使用 FILTER 在 COUNTA 上错误返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256247/