为何ISNUMBER嵌套EXPAND时返回FALSE?动态数组行为疑问
问题解析:EXPAND与ISNUMBER嵌套的行为差异
核心原因是EXPAND返回的是单元格引用数组,而非直接的数值数组,两种公式的解析逻辑存在本质区别:
G列公式(
=ISNUMBER(EXPAND(A1,3,1,A1))):
ISNUMBER直接作用在EXPAND输出的引用数组上。此时ISNUMBER检查的是数组中每个元素的类型——这些元素是指向目标单元格的引用(而非单元格内的数值本身),引用不属于数值类型,因此全部返回FALSE。F列公式(引用EXPAND结果后用ISNUMBER):
当你单独使用EXPAND生成动态数组后,再用ISNUMBER引用这个数组时,Excel会自动对引用数组执行解引用操作,把每个引用转化为对应的单元格数值。此时ISNUMBER检查的是实际数值,自然全部返回TRUE。
验证方法
可以用TYPE()函数直观查看类型差异:
- 直接嵌套公式:
=TYPE(EXPAND(A1,3,1,A1))返回16(代表引用类型) - 引用EXPAND结果:
=TYPE(引用EXPAND结果的单元格)返回1(代表数值类型)
内容的提问来源于stack exchange,提问作者user2224788
相关产品推荐
相关产品推荐

