- 帖子
- 4901
- 主題
- 44
- 精華
- 24
- 積分
- 4916
- 點名
- 142
- 作業系統
- Windows 7
- 軟體版本
- Office 20xx
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-4-30
- 最後登錄
- 2026-7-16
                
|
本帖最後由 Hsieh 於 2012-1-30 18:15 編輯
回復 8# vbstudy
=LOOKUP(2,{1;1;1;1;1;#DIV/0!;#DIV/0!},{1;3;2;5;8;1;3})
這樣在LOOKUP函數中
lookup_value=2
lookup_vector={1;1;1;1;1;#DIV/0!;#DIV/0!}
result_vector={1;3;2;5;8;1;3}
當然lookup_value只要大於等於lookup_vector陣列中的最小值都可以
所以改成1也會得到相同結果(不過要看運氣)因為當這個陣列的排列,不會使1都集中在一起時,
因為LOOKUP會以二分法來比對資料,當折半後的資料就被找到符合的值,就會以此為答案
這樣就不能找到真正的最後一個值。(請參考圖片)
LOOKUP函數目的在於,從一單欄或單列的陣列中(lookup_vector)
尋找小於或等於lookup_value的值,在對應相同位置的result_vector
所以,你不應該將LOOKUP的lookup_vector以單一個值來看待 |
|