Excel 2010:使用公式进行计数

Excel 2010:使用公式进行计数

我有一张桌子

  • 实际库存列C
  • 货物到达栏D
  • 按列自动重新排序F

我需要计算行数(C+D+F) > 0。每行只能计算一次,并且只能if (C=0 or D=0 or F=0)

有办法吗?

我已经在 ablebits 上查看了网络上有关 countifs 的最详细教程,但我无法对其进行调整以满足我的需要。

答案1

您首先需要一个新列来进行计算,其中的单元格包含以下公式:

=AND( ((A2+B2+C2)>0), OR( A2=0, B2=0, C2=0) )

注意:为了简单起见,我在这里仅使用了 A、B 和 C 列。

新列将显示真或假。

为了进行计算,您需要以下公式:

=COUNTIF([test],TRUE)

注意:我将数据表转换为 Excel 表,这始终是最佳做法。它打开了表的总计行,并将默认公式更改为上面的公式。我为上一个公式添加的列,我将其标题设为“测试”。这样做可以确保您始终将整个表包含在计算中,因为 Excel 会处理行/列/单元格的动态更新。您还可以将总计放在数据表上方的一行中,这对于大型表非常有用。

更新:

如果您按照我的建议将数据表制作成 Excel 表,那么您也可以将第一列公式更改为:

=AND( (([@stock]+[@in]+[@reorder])>0), OR( [@stock]=0, [@in]=0, [@reorder]=0) )

假设您分别将“库存”、“在”和“重新订购”列为标题。

答案2

这是一个单一公式的解决方案:

=SUMPRODUCT((((C=0)+(D=0)+(F=0))>0)*(C+D+F>0))

请注意,我仅使用列字母来指代您的整个数据范围。它实际上类似于$C$2:$C$500Table1[Actual Stock]或您的实际数据设置所需的任何内容。

答案3

对于您的条件 C=0 或 D=0 或 E=0,我假设要求是至少一项等于零,而不是那项确切地一个项目必须等于零;因此,例如,C=0 和 D=0 就满足要求。如果是这样,有一个简单的解决方案,与 Julian Knight 的方法有些相似。我还会使用辅助列。对于第 1 行,它将包含:

=(C1+D1+F1>0)*(C1*D1*F1=0)

如果两个条件都满足,则返回1零,否则返回零。将该列复制到所有行。将该列相加以获得计数。

相关内容