在行内计算我已经在计算

COUNTIFing within rows I'm already COUNTIFing

我有一个 table 看起来像下面的 "table"。 每个类别,在这种情况下有三个,可以有多个项目. 项目名称永远不会重复。每个项目都有自己的状态。

Category | Item  | Status    
DMS123   | LKJ-9 | DONE    
DMS123   | LMS-5 | IN PROGRESS    
DMS123   | RGH-4 | IN PROGRESS    
DMS123   | RML-4 | IN PROGRESS    
LDP456   | TWD-2 | DONE    
LDP456   | RGA-5 | DONE    
LDP456   | PLY-6 | IN PROGRESS    
KFT789   | TIJ-1 | IN PROGRESS    
KFT789   | CML-1 | IN PROGRESS    
KFT789   | PRS-6 | IN PROGRESS

我要查找的结果如下:

Category | # of items DONE | # of items IN PROGRESS    
DMS123   | 1               | 3    
LDP456   | 2               | 1    
KFT789   | 0               | 3

我认为我应该使用 COUNTIF 语句,但我需要在 COUNTIF 中执行 COUNTIF。到目前为止,我在网上找到的所有内容都是如何执行两个 COUNTIF 语句,但这只会搜索整个选定列两次;如果有意义的话,它不会在搜索中搜索。另请注意,所有这些数据都包含在 Excel table 中,并且类别可以动态更改并且有数百个。如果可能的话,我宁愿不单独选择每个类别列,然后对其执行 COUNTIF 来计算项目状态。

COUNTIFS 与 PivotTable

COUNTIFS

一个非常蹩脚的解决方案,因为随着您获得更多项目,您必须手动将它们添加到橙色 table(注意:BBB333 不存在。)。 F2中的公式为:

=COUNTIFS($A:$A,$E2,$C:$C,RIGHT(F,LEN(F)-LEN("# of items ")))

复制粘贴公式并将其应用于 G2。其余的将在将新数据添加到类别时自动完成。

Table Excel 2019

转到“插入”>“数据透视表”Table 并选择一个 table(蓝色 Table (Table1))和一个位置 (E8),然后选择“确定”。

现在勾选“类别”和“状态”,将“状态”拖放到“列”,然后再拖放到“状态”,这次拖放到“值”并尝试设置。它仍然不完美,因为您必须在添加新数据时刷新 table(右键单击刷新)。您可以通过 VBA 事件来 "fix"。