INDEX返回零而不是空值

时间:2014-12-28 15:31:18

标签: excel indexing excel-formula

我有一大堆值,每个值都可以为空或具有有效值。零是有效值,与空白单元格不同!

在另一张表中,我有非常复杂的公式,指向数组并根据使用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函数的情况下实现它?

1 个答案:

答案 0 :(得分:1)

  

有没有办法在没有双重调用INDEX函数的情况下实现它?

是的,请确保如果要返回0,则需要提取0,如果要-返回-。换句话说,解决源数据中的问题。

例如,通过选择源数据范围,HOME>编辑 - 查找&选择,转到特殊...,选中空白,输入- Ctrl + 输入

如果需要不显示-,请选择源数据范围和HOME>单元格 - 格式,格式单元格...,自定义:

0;0;0;  

或调整(例如小数精度)以适应。

  

你知道为什么MS决定隐式地将空值转换为零吗?

不,但对我来说这个问题似乎不在这里。