为什么无法在 IF 语句中嵌套 SUBSTITUTE?

为什么无法在 IF 语句中嵌套 SUBSTITUTE?

我无法弄清楚这个公式有什么问题:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))

本质(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)上返回当前列字母的值,例如“B”。末尾的 3 返回行号。所以总共是 B3。

这是一个短日期类型的日期。然后将其与另一个也是短日期类型的日期进行比较。

此公式不起作用。将公式更改为:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)

无论 if 条件是否满足,它都返回 false。

任何帮助将不胜感激。

答案1

你需要一个“间接“。您正在将字符串地址与单元格值进行比较。

当你评估公式时你基本上会得到这个 -

在此处输入图片描述

哪个评估结果给你这个-

在此处输入图片描述

If(string<value, true, false)

您可以尝试间接 -

=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)

它会将单元格中的值与另一个单元格中的值进行比较 -

在此处输入图片描述

答案2

如果看不到所使用的文本Substitute,请尝试以下任一操作:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)

由于您正在寻找字符串并将其替换为数字,因此它可能会给您带来麻烦。如果没有,您可以发布您用来替换的文本吗?

相关内容