根据其他列的数据对列值进行分组

时间:2014-10-11 11:52:03

标签: excel

我希望使用Excel准备一些报告来报告项目的整体状态。以下是我们的数据,来自我们的问题管理工具。

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    P   F   Blocked
Comp1   2   2   0
Comp2   2   0   1
Comp3   2   0   

3 个答案:

答案 0 :(得分:2)

这可以在数据透视表中轻松完成。应该有一些列标题。现在,让我们称它们为c1,c2和c3。突出显示所有数据,转到"插入" => "数据透视表"。将c2放入"行标签",c3放在"列标签"中,将c3放入"值"。有关示例,请参阅我附图。


Example

答案 1 :(得分:1)

虽然,我并不完全确定您的限制,例如您可以进行哪些类型的更改,但有几种选择。

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

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

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

如果您不想在数据透视表中使用完整通过和失败标头,请在数据表中添加一列并将公式设置为(将其放入表中的原因)

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

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

稍微清理,以获得您想要的完整外观和完成。

使用数据透视表时要记住的一件事是它们不会自动更新,因此您需要在表更改时单击刷新。

答案 2 :(得分:1)

如果您的数据是静态的,或者您记得在更新后刷新,则数据透视表非常适用于此。

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

假设您的数据位于A-C列中,请在 F2 中输入此公式,然后复制/粘贴到F2:H4:

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

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

enter image description here

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

当您添加更多数据时,它将自动更新。如果您将新课程标题添加到B列,请将它们添加到E列,然后将该公式复制下来。

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

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

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

没有拼写错误:

enter image description here

哎呀,拼写为“BLOCKED”,零而不是“哦”:

enter image description here

如果拼写错误是一个真正令人担忧的问题,并且您有大量数据,那么条件格式设置可以更好地突出显示它们。

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

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

...以及C列的此规则:

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

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

enter image description here