请帮助我理解这些公式的不同解释。
的数据问题:当我用ISNUMBER()扩展公式时,我得到所有数值的FALSE(G列)。但是,当在EXPAND()公式(F列)之外引用该数组时,该数组对所有数值都返回TRUE。为什么同一个公式会有这些不同的行为呢?注意:我对动态数组的理解有限,所以如果我的问题不是很清楚,请原谅我。
ISNUMBER()
FALSE
EXPAND()
ssgvzors1#
在数组中,直到打印出来,这些值实际上是空的。尝试=ISBLANK(EXPAND(A3:A14,,,))或=EXPAND(A3:A14,,,)="",你会得到TRUE为数组中的每个空单元格。即使是简单的=A3:A14=""或=ISBLANK(A3:A14)也会返回相同的数组。所以用ISNUMBER Package EXPAND(A3:A14,,,)不会工作,因为这些单元格是空的。当“打印”Excel分配 0 的空白值在大多数情况下(如果不是所有,除了当你专门使用像=IF(A1="","")的东西,也在这种情况下,它不是空白的,但空字符串).当引用E3#或E3:E14你引用已经“打印”单元格与那些 0 的,而不是直接到结果=EXPAND(A3:A14,,,)与空 * 值 *.
=ISBLANK(EXPAND(A3:A14,,,))
=EXPAND(A3:A14,,,)=""
TRUE
=A3:A14=""
=ISBLANK(A3:A14)
ISNUMBER
EXPAND(A3:A14,,,)
=IF(A1="","")
E3#
E3:E14
=EXPAND(A3:A14,,,)
的数据为什么N或--工作由其他人解释。它在空单元格上返回 0,0 是数字。
N
--
4si2a6ki2#
如果你把它们放在一起,哈伦的公式是有效的:x1c 0d1x“--”将EXPAND(A3:A14,,,)的所有结果乘以-1两次,导致空白被视为/计算为0,ISNUMBER可以看到它(0)。因此,字母不是数字,因为当您单独使用--EXPAND时,它们会出现#VALUE错误。在处理SUMPRODUCT这样的布尔值时,“--”经常用于获得数值答案:
-1
--EXPAND
SUMPRODUCT
的SUMPRODUCT(A3:A14<>"A")返回0。=IF(LEN(A3)>0,XLOOKUP(A3,A3:A14,D3:D14),"NVM")返回与vBasic中提到的相同的0,因为它是一个空单元格,例如,如果D3中有="",它将不是0,而是“"。
SUMPRODUCT(A3:A14<>"A")
=IF(LEN(A3)>0,XLOOKUP(A3,A3:A14,D3:D14),"NVM")
=""
2条答案
按热度按时间ssgvzors1#
在数组中,直到打印出来,这些值实际上是空的。尝试
=ISBLANK(EXPAND(A3:A14,,,))
或=EXPAND(A3:A14,,,)=""
,你会得到TRUE
为数组中的每个空单元格。即使是简单的=A3:A14=""
或=ISBLANK(A3:A14)
也会返回相同的数组。所以用ISNUMBER
PackageEXPAND(A3:A14,,,)
不会工作,因为这些单元格是空的。当“打印”Excel分配 0 的空白值在大多数情况下(如果不是所有,除了当你专门使用像
=IF(A1="","")
的东西,也在这种情况下,它不是空白的,但空字符串).当引用E3#
或E3:E14
你引用已经“打印”单元格与那些 0 的,而不是直接到结果=EXPAND(A3:A14,,,)
与空 * 值 *.的数据
为什么
N
或--
工作由其他人解释。它在空单元格上返回 0,0 是数字。4si2a6ki2#
如果你把它们放在一起,哈伦的公式是有效的:x1c 0d1x
“--”将
EXPAND(A3:A14,,,)
的所有结果乘以-1
两次,导致空白被视为/计算为0,ISNUMBER
可以看到它(0)。因此,字母不是数字,因为当您单独使用
--EXPAND
时,它们会出现#VALUE错误。在处理
SUMPRODUCT
这样的布尔值时,“--”经常用于获得数值答案:的
SUMPRODUCT(A3:A14<>"A")
返回0。=IF(LEN(A3)>0,XLOOKUP(A3,A3:A14,D3:D14),"NVM")
返回与vBasic中提到的相同的0,因为它是一个空单元格,例如,如果D3中有=""
,它将不是0,而是“"。