背景:我正在使用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}。 请参阅下面的屏幕截图。
评估前:
评估后:
答案 0 :(得分:1)
我怀疑你的AND函数可能有问题 - 并且只返回单个结果而不是根据需要返回结果数组,尝试使用多个这样的IF
=min(if(car_number = indirect("number_vector"),IF(indirect(data_vector)<>0, indirect(data_vector))))
请注意,我还使用了&lt;&gt;而不是使用NOT
数据向量和数字向量的大小和形状是否相同? (两个垂直吗?) 为什么有一个而不是另一个引用?