如何使用 Excel 数据条来用文本值格式化单元格?

如何使用 Excel 数据条来用文本值格式化单元格?

我正在创建一个用于项目规划的电子表格,其中有一列列出了预计的工作量,如下所示:

  • 未知
  • 很高
  • 高的
  • 中等的
  • 低的
  • 非常低
  • 没有任何

我喜欢 Excel 中数据栏提供的视觉提示,并希望使用它们来显示“非常高”到“无”值的相对努力。但是我不知道该怎么做。我考虑过为每个值添加一个数值 - 例如“5 - 非常高” - 但现在我却无法将数据栏条件应用于单元格内容的子字符串。

有没有办法做到这一点,或者有其他方法可以达到相同的结果?

答案1

我昨天尝试过这样做 - 我不相信您可以使用条件格式数据条实现这一点,因为它只能应用于包含数值的单元格。

我的解决方法是覆盖一个条形图,删除所有背景、边框、轴和网格线,并将条形颜色设置为 60% 以上的透明度。

在此处输入图片描述

答案2

我能够利用 Brynjar Hallmannsson 的提示来重现 Andi 所做的事情。

步骤:
1. 键入数据栏的值,其中输入将是(C2:C8)。2
. 将数据栏单元格链接到输入(即 B2 公式:=C2)- 您可以只使用数据栏单元格作为输入,但您的数字不会在任何地方可见
3. 突出显示数据栏单元格并应用数据栏条件格式
4. 右键单击​​数据栏单元格 B2,然后转到设置单元格格式 -> 数字 -> 自定义 -> 类型:
5. 将常规替换为“未知”,然后单击确定
6. 单元格 B2 现在将显示未知。左对齐文本。7
. 对每个数据栏单元格重复步骤 4 至 6

如果要通过另一组单元格控制数据栏的文本,则可以使用 VBA。假设 D2:D8。每当 D 列中的关联单元格发生更改时,使用 OnChange 事件来格式化数据栏单元格的自定义类型。如下所示:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("D2:D8")) Is Nothing Then Target.Offset(0, -2).NumberFormat = Chr(34) & Target.Value & Chr(34)
End Sub

步骤 2 至 6:

步骤 2 至 6

答案3

您可以将双引号中的文本粘贴到单元格的自定义格式的类型部分中,然后在单元格中输入数值时,文本就会出现。要创建栏,请使用条件格式

相关内容