2017-04-06 68 views
0

我有一個挑戰,似乎應該有一個簡單的答案,但我無法解決它。如果條件與其他三個單元格匹配(一個單元格等於,下一個單元格大於,下一個單元格小於),並且我的公式爲:Excell - 陣列,偏移相關單元格

=IF(C7="f",IF(MIN(IF($C$4:$C$43="m",IF($D$4:$D$43>E7,IF($D$4:$D$43<F7,$G$4:$G$43,""),""),""))>0,MIN(IF($C$4:$C$43="m",IF($D$4:$D$43>E7,IF($D$4:$D$43<F7,$G$4:$G$43,""),""),"")),"no match"),"") 
我需要在大列表中找到最小值的列表

它有額外的內容,所以如果它不符合「f」標準,它將不會執行任何操作,如果數組中沒有滿足條件,它將返回「不匹配」。

這部分工作,但現在我想顯示一個單元名稱的速率發現(速率的名稱)相關的速度,除了上面的公式中找到率,因此類似的公式,但使用INDEX和MATCH或OFFSET。我面臨的挑戰是我的數據的速率是相同的,因此數組可以返回多個正確的答案,這也是可以的,但是當我嘗試將其與速率名稱進行匹配時,它只是發現數組中的第一個速率與速率匹配沒有標準,我不知道如何再次納入標準。

換句話說 - 標準找到了正確的匹配,但匹配然後查找值並選擇數組中的第一個匹配 - 總是不正確。以下是數據的一個示例。 sorry about the image- no easy way to show data in SO

+0

所以你只想找到M值?如果是這樣,那麼作爲IF函數中的一個參數。 – Luuklag

+0

我相信上面的公式'<' and '>'是相反的,你需要把'='放在它們後面。根據您的示例,需要進行這些更改才能獲得第一列的回報。 –

+0

等號是正確的,我< and >正確,但我提供的樣本數據有我的實際數據的低和高相反 - 哎呀,因此下面的公式是真棒 - 但我不得不扭轉< and >使其工作。謝謝! – user2213980

回答

0

這個數組公式將返回正確的名稱和不依賴於你的其他公式的返回:退出時

=IF(C4="f",IFERROR(INDEX($B$4:$B$43,MATCH(MIN(IF(($C$4:$C$43="m")*($D$4:$D$43<=E4)*($D$4:$D$43>=F4),$G$4:$G$43)),IF(($C$4:$C$43="m")*($D$4:$D$43<=E4)*($D$4:$D$43>=F4),$G$4:$G$43),0)),"No Match"),"") 

是數組公式,它必須與確認按Ctrl-Shift鍵輸入,而不是進入編輯模式。如果正確完成,Excel將在公式周圍放置{}

enter image description here