Excel 热图带有 2 个颜色规则 - 可能吗?使用 trunc?

Excel 热图带有 2 个颜色规则 - 可能吗?使用 trunc?

我有两个表格,显示同一样本中化合物 A 和化合物 B 的含量。例如:

化合物A

示例 1 示例 2
条件 x 0.5 0.01
条件 y 0.05 0

化合物B

示例 1 示例 2
条件 x 0.03 0.01
条件 y 0.3 0.6

我想构建一个表格/热图,以便通过条件格式以可视方式查看上述两个表格中的信息。这个想法是重叠两个条件格式单元格着色规则(我不知道这是否可行)。例如,如果 A 的最大值标记为红色,B 的最大值标记为蓝色,两者的最小值标记为白色,那么只有 A 的东西看起来会是粉红色,只有 B 的东西看起来会是蓝色,而同时包含 A 和 B 的东西会呈现各种深浅不一的紫色。

我最初的想法是首先将两个表中的信息合并到一个新表中,例如,化合物 A 的信息将在小数点前编码,化合物 B 的信息将在小数点后编码。如下所示:

化合物A*100+化合物B

示例 1 示例 2
条件 x 50.03 1.01
条件 y 5.3 0.6

然后我考虑使用 TRUNC 来获取不带小数的值(从那里,我可以轻松获得小数)。例如,对于两种颜色格式,我有以下公式:

最小值:
=MIN(TRUNC($A$1:$B$2))

最大值:
=MAX(TRUNC($A$1:$B$2))

但是,这会导致没有彩色单元格。如果我删除 TRUNC,它就会起作用,但这违背了我的目的。

如果有人能看看并告诉我我的计划是否可行,如果可行,我做错了什么,我将不胜感激。

当尝试获取有关版本的信息时,我得到了“Microsoft Office LTSC Professional Plus 2021”。

答案1

您不能在同一个单元格中使用两个色标。原因有两个:第一,单元格必须包含作为格式基础的值;第二,如果颜色与同一个对象(在本例中为单元格内部填充)相关,则不能混合或添加颜色。
因此,如果您想使用色标,您可以使用两个相邻的单元格。

另一种可能性是使用单元格的两个不同属性:内部填充和具有不同颜色的内部图案。单元格可能包含 1 个值的数据,例如指化合物 B,化合物 A 的内部颜色可以用公式定义。
但是在这种情况下,您应该为每种颜色定义单独的规则。通常,这是一项相当复杂的任务。

色阶

内部和图案 示例工作簿

答案2

您可以通过 VBA 执行此操作。以下是示例;您可能希望调整颜色以满足您的需求:

Function myColour(compoundA As Double, compoundB As Double)
      ' takes two concentrations (0-1) and converts to RGB
    Dim myRed, myGreen, myBlue As Integer
    If (compoundA >= 0 And compoundB >= 0 And compoundA <= 1 And compoundB <= 1) Then
        myGreen = 255 - compoundA * 127 - compoundB * 127
        myRed = 255 - compoundA * 127
        myBlue = 255 - compoundB * 127
    Else ' no valid values, make it grey
        myGreen = 127
        myRed = 127
        myBlue = 127
    End If
    myColour = RGB(myRed, myGreen, myBlue)
End Function

Sub colourMe()
        ' select a range of two columns (compound A, compound B) before running this macro
    Dim rng As Range
    For Each rng In Selection.Rows
        rng.Interior.Color = myColour(rng.Cells(1).Value, rng.Cells(2).Value)
    Next rng
End Sub

以下是几个组合的结果: 彩色细胞

相关内容