2017-09-27 141 views
0

我有一个正确返回true的excel公式。但是当我在条件格式中使用相同的公式时,我无法获得条件格式。请帮忙。Excel公式与条件格式中使用的公式

=AND(FIND("MyText",INDIRECT(ADDRESS(1,COLUMN()))),INDIRECT(ADDRESS(ROW()+2,COLUMN()))=1) 

如果列的第一个单元是“我的文本”,并且值是1(在2行,同一列)式正确地返回true。如果我以条件格式使用它来绘制前景色,它不起作用。我也尝试过搜索和搜索。但没有工作。可能具有值1的单元格(行()+2,列)的格式为“常规”

回答

0

我将AND更改为以下并使其工作。但不知道什么是具有和中条件格式

= NOT(ISERROR(SEARCH( “MYTEXT”,INDIRECT(ADDRESS(1,COLUMN()))))) * INDIRECT(ADDRESS(ROW问题()+ 2,COLUMN()))

添加上述答案以供参考。

1

如果更改为R1C1 reference style,就可以进入如式=AND(R1C="MyText", R[2]C=1)

R1意味着行1,C装置相同的列,和R[2]意味着当前小区低于2行。

A1引用样式,该公式将取决于当前活动的细胞,因此,如果例如活动单元格A1,该公式将是=AND(A$1="MyText", A3=1)

+0

谢谢。不幸的是,我通过程序生成我的excel文件,不得不求助于address(row(),column())方法。但是你仍然是手动创建的有效解决方案。 – NSN

+0

@NSN它没有区别(除非使用非英文的Excel https://stackoverflow.com/questions/23649293/excel-vba-use-localized-rc-formula-for-conditional-formatting)。像INDIRECT这样的易失性函数是不够的,因为它们必须重新计算,比需要的多得多https://msdn.microsoft.com/zh-cn/library/office/bb687891#sectionSection2。你可以使用例如'INDEX(1:1,1,COLUMN())'而不是'INDIRECT(ADDRESS(1,COLUMN()))' – Slai

1

不知道为什么,这是行不通的。但是,您可以简单地用*替换AND函数。这里是你可以尝试的:

=FIND("MyText",INDIRECT(ADDRESS(1,COLUMN())))*INDIRECT(ADDRESS(ROW()+2,COLUMN()))=1 
+0

刚刚修改我的公式使其更短。 – ian0411