2014-02-05 30 views
-1

我正在使用一张考勤表,并且正在尝试计算给定月份中有多少人参加了4个或更多活动。在一个公式中加上多个COUNTIF语句

我想写一个需要计算的公式,对于每一行,在给定范围的列之间是否有4个或更多“x”。我相信逻辑如下:如果“x”的计数大于等于4,则为其赋值1,否则赋值为0.循环遍历每行,然后添加所有这些值。

所以我能明显写的第一部分,

=IF(COUNTIF(B:E, “x”)>=4, 1, 0) 

问题1如何我总结了,说所有的这些值,行1〜10?

解决方案=SUM(1*(((B1:B10="x") +(C1:C10="x")+(D1:D10="x")+(E1:E10="x"))>=4))谢谢CRondao。

随访:类似地,用相同的考勤表,我需要计算一个特定的人是否出席或者两个会话星期五(会话1是J栏和会话2为列K)和任星期六的两场会议(会议1是L列,会议2是M列)。我有一个公式写的,如果人出席两个周五和周六至少1个会话分配值1:

=IF(SUM(IF(COUNTIF(B1:C1, "x")>=1, 1, 0)+IF(COUNTIF(D1:E1, "x")>=1, 1, 0))=2, 1, 0) 

问题2:我如何总结所有这些值,比如,行1到10?

+1

如何从三列中管理“4”的计数?不会= SUM(Z2:Z500)套装(其中Z是包含您的公式的列,假设它包含行参考)? – pnuts

+0

我的歉意是,它需要四列。 B:E应该被引用。 – blahblahblah

回答

0

可以使用数组公式:

=SUM(1*(((J1:J10="x") +(K1:K10="x")+(L1:L10="x")+(M1:M10="x")+(N1:N10="x"))>=4)) 

在这里,我假设列J即可N,只有行1到10,但你看到的总体思路 不要忘记按Ctrl Shift键输入到底

+0

或者用SUMPRODUCT替换SUM,而不需要Ctrl Shift Enter – CRondao