【問題】該如何用excel取出最接近目標值的數據?



贊助商連結


QWERT12
2007-06-09, 02:57 AM
各位大大好 ~ 我的情形如下:
數據為: 1.2 ,1.5 , 1.7 , 2.4 目標值為:1.6 取出最接近目標值的數據:
假如大於目標值, 顯示 1.7 假如小於目標值, 顯示 1.5

因為不知道該如何求得最接近的值,所以煩請各位大大知道的話,告知一下.
感激不盡!

贊助商連結


ranger
2007-06-09, 09:36 AM
VLOOKUP

在一陣列或表格的最左欄中尋找含有某特定值的欄位,再傳回同一列中某一指定儲存格中的值。如果用來比對的數值位於您所要尋找的資料之左邊欄時,就必須使用到 VLOOKUP 函數,而非 HLOOKUP 函數。

VLOOKUP 中的 V 表示「Vertical」之意。

語法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 是您打算在陣列的最左欄中搜尋的值。Lookup_value 可以是數值、參照位址或文字字串。

Table_array 是要在其中搜尋的資料表格。通常是儲存格範圍的參照位址或類似資料庫或清單的範圍名稱。

如果 range_lookup 為 TRUE,則 table_array 第一欄的值必須以遞增次序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否則 VLOOKUP 無法給予正確的值。如果 range_lookup 為 FALSE,則 table_array 不須事先排序。

您可以選擇 [資料] 功能表上的 [排序] 命令,選取 [遞增],讓值依遞增順序排列。

Table_array 第一欄裡的值,可以是文字、數字或邏輯值。

字母的大小寫被視為是相同的。

Col_index_num 是個數值,代表所要傳回的值位於 table_array 中的第幾欄。如果 col_index_num 引數值為 1,傳回在 table_array 第一欄的值,如果 col_index_num 引數值為 2,傳回 table_array 第二欄的值,依此類推。如果 col_index_num 小於 1,則 VLOOKUP 傳回錯誤值 #VALUE!;如果 col_index_num 超過 table_array 總欄數,則 VLOOKUP 傳回錯誤值 #REF!。

Range_lookup 是個邏輯值,用來指定 VLOOKUP 要尋找完全符合或部分符合的值。當此引數值為 TRUE 或被省略了,會傳回部分符合的數值;也就是說,如果找不到完全符合的值時,會傳回僅次於 lookup_value 的值。當此引數值為 FALSE 時,VLOOKUP 函數只會尋找完全符合的數值,如果找不到,則傳回錯誤值 #N/A。

註解

如果 VLOOKUP 函數找不到 lookup_value,且 range_lookup 為 TRUE 時,則使用僅次於 lookup_value 的值。
如果 lookup_value 比 table_array 第一欄中的最小值還小,則 VLOOKUP 傳回錯誤值 #N/A。
如果 VLOOKUP 函數找不到 lookup_value,且 range_lookup 為 TRUE 時,則 VLOOKUP 傳回錯誤值 #N/A。