首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于公式的Excel 2007/2010彩色刻度条件格式

基于公式的Excel 2007/2010彩色刻度条件格式
EN

Stack Overflow用户
提问于 2011-04-19 12:37:04
回答 2查看 15.6K关注 0票数 5

假设我有以下表结构(A1:C3)

代码语言:javascript
复制
     A   B   C
1    H1  H2  H3
2    1   1   3
3    4   5   4

如何使用以下条件应用条件格式设置:

只有标头单元(H1,H2,H3)是着色的

  • ,着色方案为2或计算颜色时所用的颜色为A2/A3,B2/B3,C2/C3 (范围为0-1)

注意:我不是在寻找VBA解决方案,因为我可以自己制作,但如果您有一些疯狂的1班轮,请告诉:)

注:我不想应用很多规则,如if x<0.3 red,__,if 0.3<x<0.6 orange等。

有什么干净的解决办法吗?

基于公式的值可以应用三色刻度吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-21 07:19:51

我想你是在找一些不幸不存在的时髦的东西。我只看到了两种选择。

您可以使用三种条件进行条件格式化,甚至可以只使用两个条件,如果您想使用默认的单元格颜色作为三个条件之一(例如,公式Is =(A2/A3)<0.3,公式Is =(A2/A3)<0.6,或者您希望阈值是什么)。您可以在Excel中的一个标头单元格上手动应用此fomatting,并将其复制到所有标头;或通过VBA应用它。

或者,您可以在VBA中为标头着色,并在工作表上放置一个按钮,该按钮调用代码来更新颜色。

代码语言:javascript
复制
With Range("A1")
    For i = 1 To 3
        colorscale = .Cells(2, i).Value / .Cells(3, i).Value
        .Cells(1, i).Interior.Color = _
            RGB(colorscale * 255, colorscale * 255, _
            colorscale * 255) ' for example. Or pick your colors otherwise.
    Next i
End With

在我看来,第一个选项(条件格式)更适合,因为它将根据单元格值自动更新颜色。不过,我不得不承认,我不太明白你为什么要找比这个更“干净”的东西,因为它实际上是一个非常简单的解决方案。有两个条件构成“很多规则”吗?不是任何一段英语..。

票数 1
EN

Stack Overflow用户

发布于 2011-04-22 21:38:43

以下是让·弗朗索瓦·科贝特(Jean-Fran ois Corbett)的代码的改编,该代码从红、黄、绿梯度中提取颜色:

代码语言:javascript
复制
With Range("A1")
    For i = 1 To 3
        ColorScale = .Cells(2, i).Value / .Cells(3, i).Value
        If ColorScale < 0.5 Then
            red = 255
            green = ColorScale * 2 * 255
        Else
            red = (1 - ColorScale) * 2 * 255
            green = 255
        End If

        .Cells(1, i).Interior.Color = RGB(red, green, 0)
    Next i
End With
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5716442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档