我有一个表,看起来像下面的“表”。每个类别(在这种情况下为三个)可以有多个项目。 项目名称永不重复。每个项目都有其自己的状态。
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表中,并且类别可以动态更改,并且有数百种。如果可能的话,我希望不要单独选择每个类别列,然后对其进行一个COUNTIF来计数项目状态。
COUNTIFS
一个非常la脚的解决方案,因为当您获得更多项目时,必须手动将它们添加到橙色表中(注意:BBB333不存在。)。 F2中的公式是:
=COUNTIFS($A:$A,$E2,$C:$C,RIGHT(F$1,LEN(F$1)-LEN("# of items ")))
复制粘贴公式并将其应用于G2。将新数据添加到“类别”时,其余的将自动完成。
Excel 2019中的数据透视表
转到插入>数据透视表,然后选择一个表(蓝色表(Table1))和一个位置(E8),然后选择确定。
现在勾选类别和状态,然后将状态拖放到列,然后再次将状态拖放到值,然后使用设置进行操作。仍然不是很完美,因为添加新数据时必须刷新表(右键单击“刷新”)。您可以通过VBA事件“修复”此问题。