2016-04-30 148 views
0

你好首先這更大的是我的代碼返回錯誤Excel的折射率匹配等於或大於值誤差

=INDEX(Steel_table!A3:A151,LOOKUP(10^10,MATCH(H7,Steel_table!C3:C151,{1,0})+{1,0})) 

我已經根據從這個線程的代碼: Use INDEX MATCH to find greater than/equal to value

這是該方案 我有2張,即應力分析和鋼表

我想比較的值位於應力分析表格單元格H7中,我想將其與鋼材從C3的單元格值到C151的表格表。

,請幫助我,因爲它總是返回#N/A錯誤

應力分析表

enter image description here

鋼錶板

enter image description here

感謝

回答

0

根據查找範圍是否排序,必須考慮使用第三個參數來匹配MATCH函數。

無需考慮範圍排序的唯一時間是使用0 - 完全匹配時。但完全匹配不是你所需要的,因爲你正在查找計算結果與前綴值的表,這些值不可能完全匹配...

因此,爲了使用第三個參數1,查找範圍應該按升序排列。在你的情況下,查找範圍的第二個值大於查找值,因此第一個,所以Excel的快捷方式爲N/A,假設沒有更小的值會被發現。

反向邏輯對於使用-1是正確的。

您可以簡單地使用查找值和範圍的差異來獲得最小的值。所以我們使用MIN函數。但是,你只需要積極的差異,所以你需要所有負數變成一個大的離譜號碼(如10^10),使他們不被用作潛在的最小值:

INDEX(Steel_table!$A$3:$A$151, MATCH(MIN(IF(Steel_table!C3:C151-H7>=0, Steel_table!C3:C151-H7, 10^10)), Steel_table!C3:C151-H7,0))

+0

仍然不起作用,先生,我已經在這裏上傳了試用文件,希望您能給我一些意見來幫助我修復錯誤。謝謝 https://drive.google.com/open?id=0ByBx0gzVtGKJY1FiaXVKVldUb3c –

+0

它的工作原理。兩件事,1)我的錯誤 - 你必須用Ctrl-Shift-Enter輸入公式(我有時會忘記告訴人們用數組公式解決方案)2)請確保工作表名稱與標籤中所示的完全相同作爲公式中的參考。公式引用中的「Steel_table」需要與工作表選項卡中的相同。它的工作原理 - 我做了這些事情後,你的工作簿上測試,我得到L4 x 3.5 x 1/4 – MacroMarc

+0

你好MacroMarc,謝謝你,我已經使用你的公式, 對不起,但我的錯誤是我總是取消提示,從哪裏獲取值,這就是爲什麼它總是返回一個錯誤。 再次感謝。問題解決了 –

0

這將使你在Steel_table C3的最小值:C151),其隨後在CEL H7的值相等或更大:

=MIN(IF((Steel_table!C3:C151)>=H7,(Steel_table!C3:C151))) 

這是一個數組公式,所以通過[按住Ctrl-Shift Enter]鍵。產量將是1451.61。當沒有相等或更大的值時它將返回0。

+0

仍不起作用先生,我已經在這裏上傳試用文件希望你能給我一些評論,以幫助我解決這個錯誤。謝謝 https://drive.google.com/open?id=0ByBx0gzVtGKJY1FiaXVKVldUb3c –

+0

好的。我想我明白你想知道什麼。查看我的更新回答 –

+0

@Maurice法國:如果這仍不起作用,請告訴我什麼不起作用,以及您對該公式的期望值是多少。 –