查看某一行,确定某个字段是否具有某个值,然后计算不同字段中特定值的数量

查看某一行,确定某个字段是否具有某个值,然后计算不同字段中特定值的数量

我担心,这是一个很难解释的复杂问题!

这是我正在使用的示例数据:

样本数据

我想要做的是这样的:


计算学生的数量Gold Gifted(即,列G的值为Y),并且其KS4 TARGET(列I)值也为AA*


例如,如果列表中有5 名金牌资优生, 但只有4其中有目标成绩为 A* 或 A,我想要显示的值是4

我甚至不知道从哪里开始。我试过以下公式,但我不确定是否正确:

=SUM(('Student Breakdown'!$G$10:$G$272="Y")*('Student Breakdown'!$I$10:$I$272="A*")*('Student Breakdown'!$I$10:$I$272="A"))

有人能帮忙吗?提前致谢,

答案1

尝试 COUNTIFS 函数。

对于你的数据布局,我认为你会使用

=COUNTIFS('学生分类'!$G$10:$G$272, "Y", '学生分类'!$I$10:$I$272, "A*")

我不确定,但我认为您的目标成绩之一带有星号 (A*) 在这一情况下起到了通配符的作用。您可以通过将其中一个“A*”成绩更改为“A+”来进行测试,您仍会得到正确的总分。这是一个有趣的附带好处!

答案2

我推荐 F106dart 的答案,但概括一下,你可以在 COUNTIFS 中使用一个条件获得“OR”类型的效果,如下所示

=SUM(COUNTIFS(Range1,"x",Range2,{"a","b"}))

[尽管你不会对“A”和“A*”这样做,因为*充当通配符,所以你会得到重复计算]

COUNTIFS仅适用于 Excel 2007 或更高版本,因此对于任何版本,您都可以SUMPRODUCT像这样使用

=SUMPRODUCT((Range1="x")*(Range2={"a","b"}))

后一个版本将要使用“A”和“A*”是因为 * 在该公式中不被视为通配符。

假设 Range1 和 Range2 是columns数据

答案3

我相信这也有效:

  =SUM(IF(G10:G272="Y",IF(I10:I272="A",1,0)))+SUM(IF(G10:G272="Y",IF(I10:I272="A*",1,0)))

它通过在条件上使用两次传递来产生结果,一次针对 A,一次针对 A*。

相关内容