根据另一列的数据对列值进行分组

我正在寻找准备一些报告使用Excel来报告我们的项目的整体状况。 这是我们的数据,从我们的问题pipe理工具中提取。

PRO-10128 Comp1 FAIL PRO-9963 Comp1 FAIL PRO-10167 Comp1 PASS PRO-9965 Comp1 PASS PRO-11541 Comp2 BLOCKED PRO-11536 Comp2 PASS PRO-11539 Comp2 PASS PRO-11518 Comp3 PASS PRO-11519 Comp3 PASS 

根据以上数据,我期待编译以下报告:

 Comp PF Blocked Comp1 2 2 0 Comp2 2 0 1 Comp3 2 0 

这很容易在数据透视表中完成。 应该有一些列标题,但。 现在,让我们把它们叫做c1,c2和c3。 突出显示所有数据,转到“插入”=>“数据透视表”。 将c2放在“行标签”中,将c3放在“列标签”中,将c3放入“值”中。 看到我附加的图片为例。

例

虽然我不完全确定你有什么限制,比如你可以做什么样的改变,但是有一些select。

你可以使用数据透视表。 为您的数据添加列标题。 转换成表格(你不必这样做,但这是标准的做法)

select你的数据中的任何单元格,按ctrl + *,按ctrl + t。 popup窗口会打开并询问您的select是否有标题。 选中此框。

插入数据透视表,select“Comp Column”作为行,结果列作为“Columns”和“Values”。 然后,您只需要从数据透视表中删除总计行和列。 这是在大总计数据透视工具的devise选项卡下。 (使用Excel 2013)

如果您不希望数据透视表中的“全部通过”和“失败标题”,请向数据表中添加一列,然后将公式设置为(将其放入表中的原因)

 =IF([@Test]="Fail","F",IF([@Test]="PASS","P",IF([@Test]="BLOCKED","BLOCKED",""))) 

为了使其进入正确的列顺序,您可以select数据透视表中的标题并将其拖动到正确的位置。

稍微清理一下,以获得你想要的和你完成的确切的外观。

数据透视表需要注意的一点是,它们不会自动更新,所以您需要在表更改时单击刷新。

如果您的数据是静态的,或者您记得在更新后刷新,那么数据透视表非常适合这种情况。

您可以使用COUNTIFS来克服这些限制。

假设您的数据是AC列,请在F2中input此公式,然后复制/粘贴到F2:H4:

 =COUNTIFS($B:$B,$E2,$C:$C,F$1) 

根据需要添加列和行标题:

在这里输入图像说明

此公式将列B中的课程与列E中的课程相匹配,并将C列中的成绩与第1行中的成绩相匹配。

它会自动更新,因为你添加更多的数据。 如果将新课程标题添加到列B,请将其添加到列E,然后复制公式。

数据透视表的优点是可以快速指出数据集中的拼写错误。 但是我们可以用这个公式轻松完成同样的事情:

 =IF(SUM(F:H)<COUNTA(B:B),"Check for typos!","") 

即使我们只计算列B中的单元格,但此公式将检测列B和C中的拼写错误,因为F:H中的汇总表引用了两列:

没有错别字:

在这里输入图像说明

哎呀,用“0”拼写“BLOCKED”而不是“哦”:

在这里输入图像说明

如果拼写错误是一个真正的问题,并且你有大量的数据,条件格式可以更好地突出显示它们。

对列B使用此条件格式规则:

 =ISNA(MATCH(B1,E:E,0)) 

… C列的这条规则:

 =ISNA(MATCH(C1,F$1:H$1,0)) 

示例:使用字母“El”而不是数字1,并使用零而不是“哦”:

在这里输入图像说明