Excel 2013复杂的countif公式

时间:2016-02-04 19:59:25

标签: excel excel-formula

我的源表设置如下:

Step 2/7: Build .NET subsystem (MSBuild) (6s)
[22:36:32][Step 2/7] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.MsBuildBootstrap.exe /workdir:C:\TeamCity\buildAgent\work\17605015421235b0 "/msbuildPath:C:\Program Files (x86)\MSBuild\14.0\bin\amd64\MSBuild.exe"
[22:36:32][Step 2/7] in directory: C:\TeamCity\buildAgent\work\17605015421235b0
[22:36:33][Step 2/7] .net\MyApp.sln.teamcity: Build target: TeamCity_Generated_Build (4s)
[22:36:33][.net\MyApp.sln.teamcity] TeamCity_Generated_Build (4s)
[22:36:33][Step 2/7] MSBuild command line parameters contain "/property:" or "/p:". It is recommended to define System Property on Build Parameters instead.
[22:36:38][Step 2/7] Process exited with code 0

我尝试根据以下条件设置公式来计算行数:

天数中的

单元格打开列< = 5和<> -1,其中月份为2,3或4(工作表最终将包含月份数字最多12个,我需要每季度对结果进行分组) 。然后必须将总数除以“月”列中显示2,3或4的所有行的总数。

我似乎无法让COUNTIFS的第一部分符合这两个标准......这就是我到目前为止所做的工作:

return { restrict: 'E', require:'ngModel', scope: { type: '=' }

我一直在这里和其他excel论坛四处寻找并认为function(scope, element, attrs, ngModelCtr) { var mymodel=ngModelCtr.$viewValue; } 可能是要走的路?根据Days Open专栏(< = 5和<> -1)所需的标准,我无法让它工作。

3 个答案:

答案 0 :(得分: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))

使用SUMPRODUCT时,条件AND将替换为*。它要求所有四个条件都为True才能返回1; 1 * 1 * 1 * 1 = 1如果为假,则返回0,因此1 * 1 * 0 * 1 = 0.因此,当它遍历行时,它返回1或0,并将其添加到总和中。 / p>

答案 1 :(得分:2)

COUNTIF中包含COUNTIFSSUM function功能,可以将常量数组用作 OR citeria。

len

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

答案 2 :(得分: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
  • Quarter的公式为:=CEILING(B2/3,1)
  • recentOpened的公式为:=AND(A2<>-1,A2<=5)

其次,选择表格,然后执行Insert&gt;数据透视表。

第三,从字段拖到框中,如下所示:

  • 将Quarter拖到ROWS框
  • 将RecentOpened拖至FILTERS框
  • 将月份拖至值框

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

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

结果如下:

enter image description here

与复杂公式相比,数据透视表通常提供更灵活,更易于阅读和理解的解决方案。