【问题标题】:Excel Formula Cell Based on Background color基于背景颜色的Excel公式单元格
【发布时间】:2017-06-19 07:34:15
【问题描述】:

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

如果没有 VBA,这可能吗?

【问题讨论】:

  • 没有 VBA 是不可能的。使用 VBA 非常简单......您的选择
  • 你能在VBA中给我答案,然后在哪里放置代码?

标签: vba excel excel-formula formulas


【解决方案1】:

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

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

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

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

=IF(color=3,1,0)

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

    • 非常感谢!是的,很容易!
    【解决方案3】:

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

    1. 确保您在带有颜色的列上方以及您希望放置值 1 的列上方有一个标题

    2. 添加自动过滤器(选择两列,单击功能区“数据”选项卡上的“过滤器”按钮)

    3. 单击颜色列上的下拉过滤器,然后单击按颜色过滤,选择红色

    4. 在第二列中,在每个可见单元格中输入 1。 (在第一个单元格中输入 1,然后向下填充。或者,选择所有单元格,输入 1 然后按 ctrl-enter)

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 2017-06-26
      • 2016-07-25
      • 2016-10-07
      • 1970-01-01
      • 2017-10-21
      • 2014-10-08
      • 2016-01-15
      相关资源
      最近更新 更多