如何在柱状图/条形图中为正负条形设置不同的颜色?
在 Excel 中处理数据时,通常会使用柱状图或条形图来同时可视化收益与损失、利润与支出,或任何二元值。然而,默认情况下,Excel 会将所有条形显示为单一颜色,无论其值是正是负。这种统一的颜色使得观众难以快速区分趋势或一眼看出关键差异。
为了更清晰且专业的视觉呈现,您可能希望为图表中的正负条形设置不同的颜色。本教程全面介绍了几种有效的方法,以分离柱状图或条形图中正负值的颜色,帮助您创建直观且易于理解的 Excel 图表。每种方法都包括详细步骤、最适合的应用场景、潜在的优势和局限性,以及避免常见错误的实用技巧。
为柱状图/条形图中的正负条形设置不同颜色
VBA 宏:根据正负值自动为条形着色
Excel 公式:使用辅助列和数据系列创建双色条形图
为柱状图/条形图中的正负条形设置不同颜色
Excel 提供了一个内置的“负值反转”功能,提供了一种快速而直接的方法,可以在柱状图或条形图中直观地区分正条形与负条形。此方法适用于中小型数据集,无需公式或脚本。如果您的目标是以最少的设置实现简单明了的分离,这是推荐的方法。
1. 右键单击图表中的一个数据系列条形,然后从上下文菜单中选择“设置数据系列格式”,如下图所示:
2. 在“设置数据系列格式”对话框中,选择左侧窗格中的“填充”。然后勾选“负值反转”复选框。这使 Excel 能够识别并直观地分割正负数据。见截图:
3. 接下来,为数据条形应用不同的颜色:勾选“纯色填充”选项,然后在“填充颜色”部分下为正值和负值选择所需的颜色。这允许完全自定义两个类别。见截图:
4. 选择颜色后,点击“关闭”退出。您的图表现在将自动使用您设置的颜色显示正负条形,使分析和报告之间的区别更加清晰。
注意事项:
1. 在 Excel 2013 及更高版本中,右键单击数据条形并选择“设置数据系列格式”后,界面会作为侧边栏打开。在这里,点击“填充与线条”图标,勾选“负值反转”,然后在“纯色填充”选项下为正负条形指定颜色。有关指导,请参见截图:
2. 此方法适用于柱状图和条形图。
3. 如果您的图表包含多个系列,或者需要根据特定逻辑(超出正负)单独为条形着色,则可能需要高级选项,例如 VBA 或辅助列。
4. 如果发现“负值反转”选项为灰色不可用,请仔细检查是否正在编辑单个系列,而不是堆积图表,因为该功能不适用于堆积柱状图或条形图。
由于其简单性和快速结果,这一解决方案特别适合单系列柱状图或条形图。如需更多控制或自动化批量更改,请考虑以下高级方法。
VBA 宏:根据正负值自动为条形着色
如果您需要根据值(正或负)通过程序设置条形颜色,或者想处理具有多个数据系列或更复杂颜色逻辑的图表,可以使用 VBA 宏。此方法为批量处理和一致格式提供了灵活性,特别是当您定期更新图表或管理大型数据集时。
1. 按 Alt + F11 打开 Visual Basic for Applications 编辑器。在 VBA 窗口中,点击“插入 > 模块”,然后将以下代码复制并粘贴到新模块中:
Sub ColorBarsPositiveNegative()
Dim cht As Chart
Dim srs As Series
Dim iPoint As Integer
Dim vValue As Variant
Dim posColor As Long
Dim negColor As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Set your preferred RGB colors below
posColor = RGB(91, 155, 213) ' Blue for positive
negColor = RGB(192, 80, 77) ' Red for negative
' Use currently selected chart
If ActiveChart Is Nothing Then
MsgBox "Select a chart first.", vbExclamation, xTitleId
Exit Sub
End If
Set cht = ActiveChart
For Each srs In cht.SeriesCollection
For iPoint = 1 To srs.Points.Count
vValue = srs.Values(iPoint)
If vValue >= 0 Then
srs.Points(iPoint).Format.Fill.ForeColor.RGB = posColor
Else
srs.Points(iPoint).Format.Fill.ForeColor.RGB = negColor
End If
Next iPoint
Next srs
End Sub
2. 关闭 VBA 编辑器。返回到您的 Excel 工作簿,选择您的图表,然后按 Alt + F8 打开“宏”对话框。选择 ColorBarsPositiveNegative
并点击 运行. 该宏将循环遍历所有条形,并自动将正值设为蓝色,负值设为红色。
提示与注意事项:
- 您可以使用
RGB
函数 (RGB(R,G,B)
) 自定义posColor
和negColor
为您选择的任何颜色。对于 Excel 的标准调色板,请参考颜色选择器以获取精确的 RGB 值。 - 此解决方案适用于聚类柱状图和条形图,无论是单系列还是多系列。堆积图表可能需要额外的修改。
- 如果宏未生效,请仔细检查运行代码前是否已主动选择图表。
- 对于跨多个图表或动态数据集的大规模自动化,您可以通过修改代码来循环遍历所有图表。
如果需要经常生成复杂报告或需要高度可定制的颜色规则(默认图表选项不支持),此 VBA 方法非常理想。但是,宏安全设置可能会限制代码执行,因此如果出现提示,请启用宏。
Excel 公式:使用辅助列和数据系列创建双色条形图
另一种实际的解决方案——尤其适用于您希望完全手动控制颜色分配,或者不仅想要可视化正负值(例如,根据数值大小的不同色调)——是使用 Excel 公式创建两个辅助列。一列表示正值,另一列表示负值。每个辅助列都被绘制成自己的数据系列,并为每个系列设置独特的颜色。即使需要应用高级条件格式逻辑或仅在特定条形上添加数据标签,此方法也能很好地工作。
以下是组织数据和配置图表的方式:
假设您的原始值在 B 列 (B2:B11) 中。
1. 在原始数据旁边插入两列辅助列:分别为“正数”和“负数”。
2. 在新的“正数”辅助列中,将以下公式输入到第一个单元格(例如 C2):
=IF(B2>=0,B2,NA())
如果 B2 的值为正或零,此公式会传递该值;如果是负值,则返回 NA(),Excel 图表将忽略它(无条形显示)。
3. 在“负数”辅助列中,将以下公式输入到第一个单元格(例如 D2):
=IF(B2<0,B2,NA())
此公式显示负值并隐藏非负值。
4. 将两个辅助列中的公式拖动到整个范围,以匹配您的数据集。
5. 按住 Ctrl 键,选择您的分类标签和两个辅助列,然后插入聚类柱状图或条形图。您将看到两个数据系列:一个用于正数(仅显示正值条形),一个用于负数,两者均具有不同的条形颜色。
提示与注意事项:
- 使用
NA()
可确保不会在不需要的位置出现空条形或零高度条形,从而保持图表的视觉清晰度。 - 此方法可以推广到其他条件——例如,基于自定义阈值或值范围为条形着色,通过进一步扩展辅助列的数量和条件逻辑来实现。
- 如果需要自动更新图表,请务必扩展图表范围或将数据转换为 Excel 表格。
- 在“负值反转”选项无法提供足够灵活性的情况下,或者在处理堆积或复杂图表时,使用此方法。
通过这种结构,图表更新和格式调整变得简单明了,您可以保留对单个系列格式的详细控制。
相关文章:
最佳Office办公效率工具
🤖 | Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数…… |
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入…… | |
高级LOOKUP:多条件VLookup|多值VLookup|多表查找|模糊查找…… | |
高级下拉列表:快速创建下拉列表 |依赖下拉列表 | 多选下拉列表…… | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列…… | |
特色功能:网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)…… | |
15大工具集:12项 文本工具(添加文本、删除特定字符等)|50+种 图表 类型(甘特图等)|40+实用 公式(基于生日计算年龄等)|19项 插入工具(插入二维码、从路径插入图片等)|12项 转换工具(小写金额转大写、汇率转换等)|7项 合并与分割工具(高级合并行、分割单元格等)| …… |
通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……
Office Tab为Office带来多标签界面,让您的工作更加轻松
- 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读。
- 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
- 可提升50%的工作效率,每天为您减少数百次鼠标点击!
所有Kutools加载项,一键安装
Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。





- 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠