我们如何区分单个表达式中的零和空白?

我们如何区分单个表达式中的零和空白?

我知道有一个类似问题,但其答案建议使用ISBLANK。这对于单元格引用甚至简单表达式来说都很好。但我有这个:

INT(INDIRECT(ADDRESS(ROW()-ROW($BQ$3),BR$3,4,1,Selected_Element))<2)

我想只包含 0 和 1,但不包含空格。使用ISBLANK将需要重复这个长表达式。

答案1

我想到了这个:

IFERROR(INT(CODE(...same indirect expression...)<50),0)

CODE函数针对 0、1、2 和空白返回以下结果:

┌───┬─────────┐
│ 0 │ 48      │
│ 1 │ 49      │
│ 2 │ 50      │
│   │ #VALUE! │
└───┴─────────┘

因此,我利用它包裹表达式,然后改变条件这样它就检查 50 而不是 2。由于它会对空值生成错误,因此我们可以将表达式包装在里面IFERROR

我尝试了其他函数:NUMBERVALUE,,,但所有这些函数都返回相同的结果并且为VALUE空白。TEXT(##, "0")0

整个公式如下所示:

IFERROR(INT(CODE(INDIRECT(ADDRESS(ROW()-ROW($BQ$3),BR$3,4,1,Selected_Element)))<50),0)

相关内容