我想突出显示更接近下一个整数的数字,一个更深的绿色和数字父亲远离下一个整数,一个更深的红色。 例如,1 =深绿色,1.1 =深红色,1.3 =浅红色,1.5 =白色,1.7 =浅绿色,1.9 =深绿色,2 =深绿色
答案 0 :(得分:0)
您可以通过设置公式的颜色缩放来完成此操作。
作为A1的例子:
GN: =IF(TRUNC($A$1)=$A$1,$A$1-1.1,TRUNC($A$1))
WH: =IF(TRUNC($A$1)=$A$1,$A$1-1,TRUNC($A$1)+0.5)
RD: =IF(TRUNC($A$1)=$A$1,$A$1,TRUNC($A$1)+1)
通过这种方式,它可以按您的需要工作。
只有两个问题:引用必须是绝对的,你不能使用它类似数组(范围A1:A10直接使用$ A $ 1:$ A $ 10)。
由于公式使用绝对引用,因此无法将其复制/粘贴到任何位置(它始终会查找原始单元格)。这样你需要为每个单元格手动输入它......但是excel得到了一个解决方案:VBA!
只需选择您想要规则的单元格并运行此代码:
Sub format_me()
Dim x As Range, y As String
For Each x In Selection.Cells
y = x.Address
x.FormatConditions.AddColorScale ColorScaleType:=3
x.FormatConditions(x.FormatConditions.Count).SetFirstPriority
With x.FormatConditions(1)
With .ColorScaleCriteria(1)
.Type = 4
.Value = "=IF(TRUNC(" & y & ")=" & y & "," & y & "-1.1,TRUNC(" & y & "))"
.FormatColor.Color = 7039480
.FormatColor.TintAndShade = 0
End With
With .ColorScaleCriteria(2)
.Type = 4
.Value = "=IF(TRUNC(" & y & ")=" & y & "," & y & "-1,TRUNC(" & y & ")+0.5)"
.FormatColor.ThemeColor = 1
.FormatColor.TintAndShade = 0
End With
With .ColorScaleCriteria(3)
.Type = 4
.Value = "=IF(TRUNC(" & y & ")=" & y & "," & y & ",TRUNC(" & y & ")+1)"
.FormatColor.Color = 8109667
.FormatColor.TintAndShade = 0
End With
End With
Next
End Sub
空单元格将没有颜色(仍然存在规则,只要数字在其中,您将获得颜色而不再运行代码)
或者,你也可以创建511个不同的规则(对于3种颜色的所有可能的阴影),但我现在懒于为该解决方案编写代码:P
如果您有任何疑问,请询问:)