2016-02-04 99 views
1

我有一个源片设置是这样的:的Excel 2013复杂COUNTIF式

Days Open  Month 
10    1 
4    1 
6    1 
2    1 
4    2 
2    2 
-1    2 
4    3 
6    3 
7    4 
3    4 

我试图建立一个公式来计算基于下列条件的行:

单元格在Days Open列< = 5和<> -1其中月份为2,3或4(工作表最终将月份数最多为12,我需要按季度对结果进行分组)。总数必须除以“月份”列中出现2,3或4的所有行的总数。

我似乎无法得到COUNTIFS用两个标准来工作的第一部分...这是我到目前为止,我试图做的工作:

=COUNTIFS('Cumulative Complaints'!K:K,"<=5",'Cumulative Complaints'!K:K,"<>-1")/(COUNTIF('Cumulative Complaints'!L:L,"2")+COUNTIF('Cumulative Complaints'!L:L,"3")+COUNTIF('Cumulative Complaints'!L:L,"4"))

我一直在环顾这里和其他Excel论坛,并认为也许SUMPRODUCT是要走的路?根据Days Days栏中所需的条件(< = 5和<> -1),我还是无法完成此工作。

回答

2

结束语在SUM function一个COUNTIFCOUNTIFS功能可以使用常量的数组作为OR citeria。

=SUM(COUNTIFS('Cumulative Complaints'!K:K, "<>"&-1,'Cumulative Complaints'!K:K, "<="&5,'Cumulative Complaints'!L:L, {2,3,4}))/SUM(COUNTIF('Cumulative Complaints'!L:L, {2,3,4})) 

这不是数组公式,也不需要CSE。

+0

辉煌!谢谢。 – mattinwpg

3

尝试此SUMPRODUCT()公式:

=SUMPRODUCT(('Cumulative Complaints'!K:K<=5)*('Cumulative Complaints'!K:K<>-1)*('Cumulative Complaints'!L:L>=2)*('Cumulative Complaints'!L:L<=4))/SUMPRODUCT(('Cumulative Complaints'!L:L>=2)*('Cumulative Complaints'!L:L<=4)) 

当使用条件AND被替换为*的SUMPRODUCT。它要求所有四个条件都为真来返回1; 1 * 1 * 1 * 1 = 1如果其中任何一个为假,它们返回0,所以1 * 1 * 0 * 1 = 0.所以当它在行中迭代时,它返回1或0以被添加到总和中。

+0

对不起,我一直在强调这是一个多么糟糕的想法,它是参考SUMPRODUCT中的整个列。虽然这样的做法在使用COUNTIF(S)/ SUMIF(S)时不会造成损害,但对于SUMPRODUCT(或任何其他阵列处理函数)并非全部。除非OP确实有数据扩展到100万以上,否则您会要求Excel检查比实际需要更多的数十万个单元。 –

1

我的答案是采取不同的方法。

Excel有一个非常强大的功能,称为透视表,我认为它可能很适合您的问题以及其他类似的问题。

首先,我会加入一列到表,就像这样:

Days Open Month Quarter RecentlyOpened 
    10   1  1  FALSE 
    4   1  1  TRUE 
    6   1  1  FALSE 
    2   1  1  TRUE 
    4   2  1  TRUE 
    2   2  1  TRUE 
    -1   2  1  FALSE 
    4   3  1  TRUE 
    6   3  1  FALSE 
    7   4  2  FALSE 
    3   4  2  TRUE 
  • 的季度公式为:=CEILING(B2/3,1)
  • 为RecentlyOpened其计算公式为:=AND(A2<>-1,A2<=5)

其次,选择表格,并执行插入>数据透视表。

第三,从田间地头到箱子,像这样拖:

  • 拖动季度对行框
  • 将RecentlyOpened到过滤器盒
  • 拖动月到值框

第四,单击总和月份,然后选择值字段设置以将总和更改为计数。

第五,将RecentOpened过滤器设置为TRUE。

结果是这样的:

enter image description here

透视表通常会提供一个解决方案,更灵活,更易于阅读和理解相对复杂的公式。

+0

我喜欢你的数据透视表解决方案,它更优雅......但是由于这个工作簿格式化的方式,我需要在其他地方可以引用的单元格中的%结果。谢谢! – mattinwpg

+0

数据透视表的单元格可以像任何单元格一样访问。因此,您可以从另一个工作表中的数据透视表中引用B4,或者您可以编写一个类似'= Sheet2!B4/Sheet2!B6'的公式来获取您正在查找的百分比。 – devuxer