我知道有一个类似问题,但其答案建议使用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)