Excel中基于文本字段的数据透视表中的条件格式

Posted

技术标签:

【中文标题】Excel中基于文本字段的数据透视表中的条件格式【英文标题】:Conditional Formatting in Pivot Table in Excel based on text field 【发布时间】:2021-03-04 16:34:11 【问题描述】:

我想根据数据中的文本字段对数据透视表进行颜色编码。

这是一个模型,因为我不知道如何做到这一点。棘手的部分之一是您实际上无法显示作为颜色基础的文本字段。

谢谢你, 尼尔

Contract Month PayStatus Payment
1 Jan-21 Complete 90
2 Jan-21 Complete 95
3 Jan-21 Complete 93
4 Jan-21 Complete 94
1 Feb-21 Pending 91
2 Feb-21 Complete 95
3 Feb-21 Complete 92
4 Feb-21 Complete 94
2 Mar-21 Complete 96
3 Mar-21 Pending 93
4 Mar-21 Pending 94
2 Apr-21 Complete 95
3 Apr-21 Pending 94

模型枢轴模型(颜色编码)

【问题讨论】:

您查看过this resource 或this one 吗? 您好 - 这些资源没有解决我的问题。这些资源正在根据相对值设置格式。我的问题是基于状态(在数据表中),即行和列的交集。在上面的示例中,合同 #1 的 Jan 审查已完成,因此它是绿色的。 2 月的审查仍在等待中,所以它是黄色的。颜色与单元格中的实际值无关。 【参考方案1】:

您仍然不需要使用 VBA 来获得您正在寻找的结果,但是为了设置它需要做一些工作。解决方案是使用公式为VLOOKUP 的条件格式。为了让它工作,你需要稍微修改你的表。

VLOOKUP 的工作原理是在表格或范围的第一列中找到一个唯一 值。表中的第一列值不是唯一的,第二列中的值也不是唯一的。但是,如果将第一列和第二列结合起来,则可以创建唯一值。必须在数据左侧添加一列才能创建此唯一值:

A 列中的公式结合了 B 列和 C 列中的值:

=B2&"+"&TEXT(C2,"mmm")

(有理由将日期格式化为月份,稍后再说)

我们最终在您的格式规则中寻找的是,当数据透视表中的任何值(对于给定月份和合同)匹配“完成”或“待定”时。因为我们已经使用辅助列设置了数据,所以我们现在可以创建一个可以为我们工作的“VLOOKUP”。所以我们需要一个公式来做到这一点:

VLOOKUP(基于月份和合同的唯一值获取工资状态) = "Complete"

VLOOKUP(基于月份和合同的唯一值获取付款状态) = "Pending"

VLOOKUP 中的公式必须引用回源数据(当它位于数据透视表内时)。为了查找该唯一值,我们必须通过组合数据透视表中的值来创建它。如果 VLOOKUP 公式位于数据透视表的单元格 B6 中:

那么公式将是:

=VLOOKUP($A6&"+"&B$4,Sheet1!$A$1:$E$14,4,FALSE)="Complete"

注意“查找值”不是单个单元格,而是我们在帮助列中创建了相同的唯一字符串/值。

在您的数据透视表中,单击单元格 B6 中的值区域(“支付总额”),然后选择主页 --> 条件格式 --> 管理规则。接下来“添加新规则”,然后确保您的规则如下所示:

以相同的方式创建第二条规则并将其应用于数据透视表。

【讨论】:

以上是关于Excel中基于文本字段的数据透视表中的条件格式的主要内容,如果未能解决你的问题,请参考以下文章

Excel的数据透视表中,如何过滤value中的0值?

如何使用或过滤器从 Excel 中的 OLAP 多维数据集数据透视表中获取数据

Excel常用操作1

如何删除EXCEL表中的大量数据行,要删除的行数大概8万

MySQL数据表的修改:修改字段名

Excel‖数据透视表的高级应用