MS Excel:如何动态使用 COUNTIF()

MS Excel:如何动态使用 COUNTIF()

我有一个电子表格来记录有缺陷的物品。每件物品都记录在单独的行中,每件物品都有一个“可用?”列。示例行如下所示:

  Item   | Usable?
 ---------------
1 Item1  | Yes
2 Item2  | No
3 Item3  | Unknown
4 Item4  | No

“可用?”列中每个单元格都有一个下拉菜单,用于将其状态设置为“是”、“否”或“未知”,我使用 COUNTIF() 函数来计算每种状态的总数。我希望在最后一行,即最后一个记录项之后立即进行计数,即:

  Item   | Usable?
 ---------------
1 Item1  | Yes
2 Item2  | No
3 Item3  | Unknown
4 Item4  | No
 ---------------
5 Total Yes: | 1
6 Total No:  | 2
7 Total Unknown: | 1

问题是 COUNTIF() 采用一组预定义的单元格,当我添加新行时,除非我修改函数,否则 COUNTIF() 不会将新单元格纳入计数。

有没有办法让 COUNTIF() 包含新数据而无需我修改函数?

答案1

您可以使用: =COUNTIF($B$2:INDIRECT("$B"&ROW()-1),INDIRECT("$A"&ROW()))
在最后一行(您要计算的行,您可以在不更改公式的情况下更改它)中写入状态,
在状态旁边的第二列中写入上述公式。B
列是状态(是、否、未知)
A 列是项目

如果你想写:

Total Yes       2
Total No        2
Total Unknown   1  

您可以在下方直接使用:
=COUNTIF($B$2:INDIRECT("$B"&ROW()-1),"Yes") 是旁边否 =COUNTIF($B$2:INDIRECT("$B"&ROW()-2),"No")旁边未知
=COUNTIF($B$2:INDIRECT("$B"&ROW()-3),"Unknown")旁边

无论你插入什么行,它都会被计算,即使你选择“总计是”并插入一行

答案2

选项 1:引用整个列

缺点是您必须将总数放在不同的列或表中。

=COUNTIF(B:B,"Yes")

选项 2:总计上方的空白行

在某个范围内插入一行会扩大该范围。通过在公式中包含空白行,Excel 会自动将新范围添加到总计中。

只需确保插入空白行而不是总计行即可。

    A       B
 ---------------
1 Item1  | Yes
2 Item2  | No
3 Item3  | Yes
4
5 TotYes | =COUNTIF(B1:B4,"Yes")

右击第 4 行标题,点击“插入”。您会注意到公式COUNTIF将变成B1:B5

相关内容