INDIRECT()返回#VALUE!不料

时间:2013-07-10 21:04:18

标签: excel excel-formula excel-indirect

背景:我正在使用Excel函数解析大量数据,实质​​上是创建一个灵活的数据透视表。它通过汽车等对很多比赛计时数据进行排序。在这部分表中,我正在搜索每辆车的最小段时间。表格的其余部分避免使用宏和VBA,所以我想在这里避免使用它。

问题:我的公式在没有零的情况下有效,但有时我需要排除零。我的数组公式非常复杂,但我所做的改变打破了它:

OLD(工作):

{=min(if(car_number = indirect("number_vector"), indirect("data_vector")))}

新(非工作):

{=min(if(and(car_number = indirect("number_vector"),not(0=indirect("data_vector"))), indirect("data_vector")))}

我在公式中多次使用INDIRECT()这个确切的参数。但是,在此特定实例中(在NOT()内),它返回#VALUE!而不是{data1; ...; datan}。 请参阅下面的屏幕截图。

评估前:

https://lh3.googleusercontent.com/-L8akIeJU_MU/Ud3Lsl1c5mI/AAAAAAAAAEY/MfrwGRi_29k/w565-h338-no/before.PNG

评估后:

https://lh3.googleusercontent.com/-SQK3fc33fzo/Ud3LsqjeOQI/AAAAAAAAAEU/oAmcxtr6tFU/w563-h303-no/after.PNG

1 个答案:

答案 0 :(得分:1)

我怀疑你的AND函数可能有问题 - 并且只返回单个结果而不是根据需要返回结果数组,尝试使用多个这样的IF

=min(if(car_number = indirect("number_vector"),IF(indirect(data_vector)<>0, indirect(data_vector))))

请注意,我还使用了&lt;&gt;而不是使用NOT

数据向量和数字向量的大小和形状是否相同? (两个垂直吗?) 为什么有一个而不是另一个引用?