2013-07-10 124 views
0

背景:我使用Excel函數來分析大量數據,實質​​上創建了一個靈活的數據透視表。它通過汽車等對很多比賽時間數據進行排序。在該表的這一部分中,我正在尋找每輛車的最小段時間。該表的其餘部分避免了宏和VBA,所以我想在這裏避免。INDIRECT()返回#VALUE!意外地

問題:我的公式在沒有零時工作,但有時會出現需要排除的零。我的數組公式是相當複雜的,但把它弄壞了我所做的變化是這樣的:

OLD(工作):

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

NEW(非工作):

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

我懷疑你和功能可能是一個問題 - 並且只返回一個結果,不是一個數組根據需要的結果,嘗試使用這樣的多個IF

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

請注意,我用的也是<>而不是使用NOT

在數據載體和數字載體的大小和形狀相同? (都是垂直的?) 爲什麼在一個附近有引號,但沒有引號?

+0

我會嘗試這種方法,你的邏輯是有道理的。 這兩個矢量的大小和形狀相同,它們是同一個表中的不同列。引用的東西在我的僞代碼中是一個錯誤(修復)。 – swolfe

+0

好的 - 如果這不起作用,那麼問題可能是我從屏幕截圖中看到的COLUMN函數 - COLUMN有時會導致問題,因爲當您期望4時會返回像{4}這樣的數組 - 這會導致評估問題 - 修復在另一個像SUM這樣的函數中包裝COLUMN,例如** SUM(COLUMN())** –