我有一大堆值,每个值都可以为空或具有有效值。零是有效值,与空白单元格不同!
在另一张表中,我有非常复杂的公式,指向数组并根据使用VLOOKUP,INDEX,INDIRECT,OFFSET(或其他一些昂贵的操作)的行和列索引来选择值。如果数组中的所需值为空,则应返回-
(或NA
或类似的内容。)
问题在于,当我使用这个公式时:
=IF(ISBLANK(INDEX(array, row, col)),"-",INDEX(array, row, col))
一切正常但有INDEX的双重调用。这是浪费。阵列非常大,这个功能显然是我的瓶颈,完整的评估需要用户等待很长时间。
如果我尝试分两步,例如:
A1 = INDEX(array, row, col)
和
B1 = IF(ISBLANK(A1), "-", A1)
它根本不起作用,因为空白值在单元格A1中转换为0
。
那么有没有办法在没有双重调用INDEX函数的情况下实现它?
答案 0 :(得分:1)
有没有办法在没有双重调用INDEX函数的情况下实现它?
是的,请确保如果要返回0
,则需要提取0
,如果要-
返回-
。换句话说,解决源数据中的问题。
例如,通过选择源数据范围,HOME>编辑 - 查找&选择,转到特殊...,选中空白,输入-
, Ctrl + 输入。
如果需要不显示-
,请选择源数据范围和HOME>单元格 - 格式,格式单元格...,自定义:
0;0;0;
或调整(例如小数精度)以适应。
你知道为什么MS决定隐式地将空值转换为零吗?
不,但对我来说这个问题似乎不在这里。