excel 动态数组行为

sshcrbum  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(95)

请帮助我理解这些公式的不同解释。


的数据
问题:当我用ISNUMBER()扩展公式时,我得到所有数值的FALSE(G列)。
但是,当在EXPAND()公式(F列)之外引用该数组时,该数组对所有数值都返回TRUE。
为什么同一个公式会有这些不同的行为呢?注意:我对动态数组的理解有限,所以如果我的问题不是很清楚,请原谅我。

ssgvzors

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,,,)与空 * 值 *.


的数据
为什么N--工作由其他人解释。它在空单元格上返回 00 是数字。

4si2a6ki

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,而是“"。

相关问题