基于背景颜色的Excel公式单元格

我需要一个EXCEL中的公式,在单元格背景为红色的单元格旁边的单元格中放置一个数字1。 看下面的例子。

在这里输入图像说明

这完全可以没有VBA?

打开VBA编辑器并添加一个新模块。 通过转到“ Developer选项卡并单击Visual Basic 。 如果function区上没有开发者标签,则需要添加该标签(快速执行Googlesearch)。 VBA编辑器打开后,右键单击左边有工作簿名称的VBA项目,然后插入一个模块。

将以下代码放入新模块中:

 Function IsRed(rng As Range) As Integer IsRed = (rng.Interior.Color = vbRed) * -1 End Function 

那么您可以使用公式=IsRed(A1)来确定A1是否具有红色背景

注意:这使用标准颜色的默认红色

这可以从Name Manager完成,这可以通过按Ctrl + F3来访问。

您将需要创build一个命名的引用(我称之为“颜色”),并在公式栏中引用=GET.CELL(63,OFFSET(INDIRECT("RC",FALSE),0,-1))

现在,您可以使用右边的1个单元格来确定单元格的颜色索引号:

例

所以红色是它旁边的单元格中的颜色索引3,可以应用公式:

=IF(color=3,1,0)

您可以使用自动filter在不使用VBA的情况下手动实现:

  1. 确保在列上方使用颜色,在列的上方放置值1

  2. 添加一个自动筛选器(同时select两列,单击function区数据选项卡上的筛选器button)

  3. 用颜色点击列上的下拉列表filter,然后点击按颜色过滤,select红色

  4. 在第二列中,在每个可见单元格中input1。 (在第一个单元格中input1,然后填写。或者,select所有单元格,input1,然后按Ctrl-input)