0

背景:我使用 Excel 函数来解析大量数据,本质上是创建一个灵活的数据透视表。它按汽车等对大量比赛计时数据进行排序。在工作表的这一部分,我正在搜索每辆车的最短分段时间。工作表的其余部分避免使用宏和 VBA,所以我想在这里避免这种情况。

问题:我的公式在没有零时有效,但有时我需要排除零。我的数组公式非常复杂,但我所做的改变是这样的:

旧(工作):

{=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

4

1 回答 1

1

我怀疑您的 AND 函数可能有问题 - AND 只返回一个结果而不是所需的结果数组,请尝试使用多个这样的 IF

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

请注意,我还使用了 <> 而不是使用 NOT

数据向量和数字向量的大小和形状是否相同?(都是垂直的?)为什么在一个周围有引号而不是另一个?

于 2013-07-10T21:17:00.350 回答