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

时间:2013-11-15 19:03:32

标签: excel excel-formula

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

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

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

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

2 个答案:

答案 0 :(得分:19)

不幸的是,使用单一公式没有直接的方法。但是,存在一个相当简单的解决方法。

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

=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),1,1))

点击OK然后关闭“Name Manager”窗口。

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

=IF(CellColor=3,"FQS",IF(CellColor=6,"SM",""))

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

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

如果您想扩展内容,下面是一个单元格填充颜色列表的参考(有56种可用): http://www.smixe.com/excel-color-pallette.html

干杯。

::的修改 ::

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

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

=GET.CELL(63,Sheet1!B2)

答案 1 :(得分:9)

You can use this function (I found it here: http://excelribbon.tips.net/T010780_Colors_in_an_IF_Function.html):

Function GetFillColor(Rng As Range) As Long
    GetFillColor = Rng.Interior.ColorIndex
End Function

Here is an explanation, how to create user-defined functions: http://www.wikihow.com/Create-a-User-Defined-Function-in-Microsoft-Excel

In your worksheet, you can use the following: =GetFillColor(B5)