Excel:我可以根据单元格的颜色创建条件公式吗?

Jay*_*y 0 21 excel excel-formula

我是初学者,并尝试创建一个公式,根据B2中单元格的颜色修改单元格A1的内容;

如果Cell B2 = [红色],则显示FQS.

如果Cell B2 = [黄色],则显示SM.

这是基于细胞填充颜色的条件.

Der*_*rik 20

不幸的是,没有一种直接的方法可以用一个公式来做到这一点.但是,存在一个相当简单的解决方法.

在Excel功能区上,转到"公式",然后单击"名称管理器".选择"新建",然后输入"CellColor"作为"名称".跳到"参考"部分并输入以下内容:

=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),1,1))
Run Code Online (Sandbox Code Playgroud)

单击确定然后关闭"名称管理器"窗口.

现在,在单元格A1中输入以下内容:

=IF(CellColor=3,"FQS",IF(CellColor=6,"SM",""))
Run Code Online (Sandbox Code Playgroud)

这将返回FQS为红色,SM为黄色.对于任何其他颜色,单元格将保持空白.

***如果A1中的值未更新,请按键盘上的"F9"以强制Excel在任何时候更新计算(或者如果B2中的颜色发生变化).

下面是一个细胞填充颜色列表的参考(有56个可用),如果你想扩展的东西:http: //www.smixe.com/excel-color-pallette.html

干杯.

:: 编辑 ::

名称管理器中使用的公式可以进一步简化,如果它有助于您理解它的工作原理(我上面包含的版本更灵活,更容易用于复制周围的多个单元格引用,因为它使用自己的单元格地址作为参考点,而不是专门针对细胞B2).

无论哪种方式,如果您想简化一些事情,您可以在名称管理器中使用此公式:

=GET.CELL(63,Sheet1!B2)
Run Code Online (Sandbox Code Playgroud)


ast*_*tef 10

你可以使用这个功能(我在这里找到它:http://excelribbon.tips.net/T010780_Colors_in_an_IF_Function.html):

Function GetFillColor(Rng As Range) As Long
    GetFillColor = Rng.Interior.ColorIndex
End Function
Run Code Online (Sandbox Code Playgroud)

以下是如何创建用户定义函数的说明:http://www.wikihow.com/Create-a-User-Defined-Function-in-Microsoft-Excel

在工作表中,您可以使用以下内容: =GetFillColor(B5)