计数符合多个条件的行数

我试图生成一个表,显示在任何给定的一天中,在任何给定的状态下有多less物品的计数。 我的结果表有一组date下降的列A和列标题是各种状态。 我的数据表与标题的示例如下所示:

Product | Notice | Assigned | Complete | In Office | In Accounting 1 | 5/5/13 | 5/7/13 | 5/9/13 | 5/10/13 | 5/11/13 2 | 5/5/13 | 5/6/13 | 5/8/13 | 5/9/13 | 5/10/13 3 | 5/6/13 | 5/9/13 | 5/10/13 | 5/10/13 | 5/10/13 4 | 5/4/13 | 5/5/13 | 5/7/13 | 5/8/13 | 5/9/13 5 | 5/7/13 | 5/8/13 | 5/10/13 | 5/11/13 | 5/11/13 

如果我的输出表包含第一列中的一组date,状态为标题,则需要计算在给定状态下有多less行并且尚未转换到下一个状态,以便在通知列中,如果通知date<= X且分配,完成,办公室内,会计中的行数都大于X,那么我需要计算行数。

我已经使用了一个Sum(if(frequency(if语句让我真的closures,但我觉得我需要在第二个IF内有一个AND语句) =SUM(IF(FREQUENCY(IF(AND

这是我有什么不会工作:

 =SUM(IF(FREQUENCY(IF(AND(Table1[Assigned]<=A279,Table1[[Complete]:[In Accounting]]<=A279),ROW(Table1[[Complete]:[In Accounting]])),ROW(Table1[[Complete]:[In Accounting]]))>0,1)) 

如果我拿出“AND”部分,这工作正常,除了我需要它只计算行的地方实际上有一个date,所以如果“分配”date是空的,我不希望该行被计为分配列。

这是我期望在结果中看到的一个例子。 我列出了每列中的计数以及括号中的相应产品编号。 相应的产品编号仅供参考,实际上不在结果表中。

 Date | Notice | Assigned | Complete 5/6 | 2 (1,3) | 2 (2,4) | 0 5/7 | 2 (3,5) | 2 (1,2) | 1 (4) 5/8 | 1 (3) | 2 (1,5) | 1 (2) 

好吧,假设你在A1:F6中有原始数据,然后在B9:D9中使用第二个表头,在A10:A12中使用行标签,那么你可以在B10中使用这个“数组公式”

=SUM((B$2:B$6<=$A10)*(MMULT((C$2:$F$6>$A10)+(C$2:$F$6=""),TRANSPOSE(COLUMN(C$2:$F$6)^0))=COLUMNS(C$2:$F$6)))

CTRL + SHIFT + ENTER确认,然后复制下来(见下面的截图)

正如你所看到的结果是根据你的要求。 如果用空白replacedate,它仍然可以工作

即使在查看多列时, MMULT也可以从每行获取单个值。

我使用了单元格引用,因为我认为这很容易,特别是在复制公式并减小范围时…….但是如果您想要使用结构化引用

在这里输入图像说明

你有没有尝试使用COUNTIFS计数基于多个条件。 这里有相当好的文档: http ://office.microsoft.com/en-us/excel-help/countifs-function-HA010047494.aspx(仅限2007+)

基本上,你使用它像

 =COUNTIFS(first_range_to_check, value_you_want_in_first_range, ...) 

其中…表示任意数量的对(如果您想要的话总数多达127对),请注意条件是AND连接,所以如果您有两对,那么第一对和第二对必须返回true来计算该行。