![Excel 中的範圍映射](https://rvso.com/image/1481869/Excel%20%E4%B8%AD%E7%9A%84%E7%AF%84%E5%9C%8D%E6%98%A0%E5%B0%84.png)
我在 Excel 中有一列數字為 [0..100] 的資料。我需要一個新列,它將這些值對應到一組新值,例如:
- > 90:4
- 80-90:3
- 70-79:2
- 60-69:1
- <60:0
我嘗試這樣做查找表,特別是測試輸入77
和函數調用VLOOKUP(77, A10:B19, 2, TRUE)
,其中 A10 是此範圍內的左上角元素:
99 4 90 4 89 3 80 3 79 2 70 2 69 2 60 1 59 0 0 0
但是,我得到的結果是#N/A
.根據文檔,這是因為
...lookup_value 中的值小於 table_array 第一列中的最小值...
然而,情況顯然並非如此,因為我傳遞了 77 79
。
VLOOKUP 是錯誤的方法嗎?進行此類映射的最佳方法是什麼?
我應該提到,我的輸入值和查找表都鍵入為“數字”。
答案1
如果您使用索引/匹配而不是 Vlookup,則可以將查找表按降序排序,就像問題中發布的那樣。公式為
=INDEX(B1:B10,MATCH(77,A1:A10,-1))
當表格按降序排序時,使用 -1 作為第三個參數的匹配將傳回大於或等於查找值的值。
答案2
經過長時間的研究後,我了解到查找表必須按升序排序。文檔中註明必須排序,但沒有指定排序順序。除了升序之外的任何內容都會導致#N/A
錯誤。