基于公式的 Excel 条件格式

基于公式的 Excel 条件格式

我想根据另外两列中的值使用 Excel 对特定列进行条件格式化。

  • 我在 A、B、C 和 D 列中有值。
  • A 列有文本值(用户输入的任何值)
  • B 列有一个数字值(用户输入的任何值)
  • C 列有一个从一组值中选择的文本值(使用下拉菜单进行数据验证):
    • Start
    • Intermediate
    • End
  • D 列定义为(x 代表任意行号)

    =IF(Cx="End";"";Bx)
    
  • 用户也可以删除 D 列中的公式,从而使其为空

当 D 为空并且用户未End在 C 列中进行选择时,我希望 A 列中的值显示为红色。因此,只有当用户删除 D 中的公式时才会发生这种情况。

因此我想创建一个条件格式规则来解决这个问题。但是当我尝试编写条件公式时,它不起作用。

我尝试为条件格式规则指定此公式:

=NOT(OR(ISNUMBER(INDIRECT("D"&ROW()));INDIRECT("C"&ROW())="End"))

但它不起作用。

在这个公式中使用函数有什么限制吗?因为当我使用类似OR()AND()似乎它只是停止工作,即使它们是返回的简单布尔函数TRUE/FALSE......

答案1

基于这个超级用户问题我能够解决我的问题。

这是实际有效的解决方案。将公式替换为以下公式:

=NOT(OR(ISNUMBER($D1);$C1="End"))

它会起作用。行号将为每一行重新计算,但列是静态设置的,因此它们将引用正确的列。

更简单

但是如果我们考虑ISBLANK()函数返回FALSE单元格中存在公式的位置,我们可以仅使用这个公式进一步简化它:

=ISBLANK($D1)

答案2

这是一个更简单的公式,可以满足您的要求:

=OR($C1="结束",$D1="")

回答你关于限制的问题:你发布的公式似乎有几个问题

相关内容