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

问题描述 投票:2回答:3

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

enter image description here

没有VBA,这有可能吗?

excel vba excel-vba excel-formula formulas
3个回答
4
投票

打开VBA编辑器并添加新模块。通过转到Developer选项卡并单击Visual Basic来执行此操作。如果您在功能区上没有开发人员选项卡,则需要添加它(快速进行Google搜索)。打开VBA编辑器后,右键单击左侧有工作簿名称的VBA项目并插入模块。

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

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

然后你可以使用公式=IsRed(A1)来确定A1是否有红色背景

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


6
投票

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

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

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

Example

因此,红色是旁边单元格中的颜色索引3,您可以应用以下公式:

=IF(color=3,1,0)


3
投票

您可以使用自动过滤器在没有VBA的情况下手动实现:

  1. 确保列上方有一个带颜色的标题,并且您希望放置值1的列上方
  2. 添加自动过滤器(选择两列,单击功能区的“数据”选项卡上的“过滤器”按钮)
  3. 单击带有颜色的列上的下拉过滤器,然后单击“按颜色过滤”,选择“红色”
  4. 在第二列中,在每个可见单元格中输入1。 (在第一个单元格中输入1,然后填充。或者,选择所有单元格,键入1然后按ctrl-enter)
© www.soinside.com 2019 - 2024. All rights reserved.