English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我有一段函數,是要從第55個欄位設到第72個欄位,但設到第61欄位就無法再接下去了,再接下去都顯示錯誤訊息呢!

以下為我的函數公式(這段是可以正常執行的↓)
=IF((P3=I55),J55,IF(AND(P3=I56),J56,IF(AND(P3=I57),J57,IF(AND(P3=I58),J58,IF(AND(P3=I59),J59,IF(AND(P3=I60),J60,IF(AND(P3=I61),J61,X)))))))

想表達的意思是
假設A欄位的值等於I55,顯示J55的值
假設A欄位的值等於I56,顯示J56的值
假設A欄位的值等於I57,顯示J57的值
假設A欄位的值等於I58,顯示J58的值
假設A欄位的值等於I59,顯示J59的值

…以此類推,到第I72位欄位

2007-01-05 19:58:51 · 2 個解答 · 發問者 awen 3 in 電腦與網際網路 軟體

2 個解答

以版大所設ㄉ公式看來,你說ㄉ錯誤應該是【#NAME】,至於未合會出現這個錯誤,很有可能是因為你ㄉ公式中有無法辨識ㄉ文字:【X】,你可以將公式更改如下,這樣如果找不到符合ㄉ條件就會顯現出【X】而不是【#NAME】:
【=IF(P3=I55,J55,IF(P3=I56,J56,IF(P3=I57,J57,IF(P3=I58,J58,IF(P3=I59,J59,IF(P3=I60,J60,IF(P3=I61,J61,”X”))))))) 】
其實依你ㄉ公式來看,如果改成”VLOOKUP”會比較方便
而如果你所參照ㄉ位址為I55:J76,那就設絕對位址,這樣你將公式拖曳時才不會跑掉
你可以將公式更改如下試試看:

【=IF(ISERROR(VLOOKUP(P3,$I$55:$J$72,2,FALSE))=TRUE,"X",VLOOKUP(P3,$I$55:$J$72,2,FALSE))】

函數說明:
關於:VLOOKUP這個函數,寶寶大大已經回答ㄉ很詳細,小弟就不在重覆
你也可以參考小弟在其他地方ㄉ回答,那裡就有案例說明你會比較清楚

【office中的Excel的功能詢問-20點】
IS
本節將說明用以測試數值或參照類型的九種工作表函數。
這類函數統稱為 IS 函數,它們會檢查數值的類型,並且根據結果傳回 TRUE 或 FALSE。例如,如果數值引數參照到一個空白儲存格時,ISBLANK 函數會傳回邏輯值 TRUE,否則便傳回 FALSE。
語法
ISBLANK (value)
ISERR (value)
ISERROR (value)
ISLOGICAL (value)
ISNA (value)
ISNONTEXT (value)
ISNUMBER (value)
ISREF (value)
ISTEXT (value)
Value:是您想要測試的數值。它可以是空白儲存格、錯誤值、邏輯值、文字、數字或參照值,或是參照到上述任何您想要測試的名稱。




函數


會傳回 TRUE 的情況



ISBLANK


Value 指的是空白儲存格。



ISERR


Value 指的是 #N/A 之外的任何一種錯誤值。



ISERROR


Value 指的是任何一種錯誤值 (#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME? 或 #NULL!)。



ISLOGICAL


Value 指的是邏輯值。



ISNA


Value 指的是錯誤值 #N/A (無法使用的數值)。



ISNONTEXT


Value 指的是任何非文字的項目。(請注意:如果數值參照到空白儲存格,則此函數也會傳回 TRUE)。



ISNUMBER


Value 指的是數字。



ISREF


Value 指的是參照。



ISTEXT


Value 指的是文字。


註解

圖片參考:http://tw.knowledge.yahoo.com/question/PicExportError
在 IS 函數中,數值引數的性質是無法轉換的。例如,在大多數其他需要數值的函數中,文字值 "19" 會轉換成數字 19。然而,在 ISNUMBER ("19") 的公式中,"19" 是不會由文字值轉換成數值的,所以 ISNUMBER 函數會傳回 FALSE。

圖片參考:http://tw.knowledge.yahoo.com/question/PicExportError
在公式中使用 IS 函數,可以有效地測試運算的結果。配合 IF 函數一起使用時,可以提供在公式中偵錯的方法 (請參閱下列範例)。


希望能幫助你^^

圖片參考:http://img59.imageshack.us/img59/7316/hqp7.gif

如還有問題,可以點小弟ㄉ資料去看看,裡面有類似ㄉ問題供你參考

2007-01-05 22:27:25 · answer #1 · answered by ~無止盡ㄉ等待與傷害~ 6 · 0 0

可以使用vlookup函數

VLOOKUP
全部顯示
全部隱藏
在表格陣列的第一欄中搜尋某個數值,並傳回該表格陣列中同一列之其他欄中的數值。

VLOOKUP 中的「V」代表「垂直」。當您比對的數值位於您想要尋找的資料左方的某一欄中時,請使用 VLOOKUP,而非 HLOOKUP。

語法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value 在表格陣列 (陣列:用來建立產生多個結果或運算一組以列及欄排列之引數的單一公式。陣列範圍共用一個公式;一個陣列常數是用作一個引數的一組常數。)的第一欄中搜尋的數值Lookup_value 可以是數值,也可以是參照位址。當 lookup_value 小於 table_array 第一欄中的最小值時,VLOOKUP 將會傳回錯誤值 #N/A。

Table_array 兩欄以上的資料。請使用參照位址來指向某個範圍或範圍名稱。table_array 第一欄中的值即為 lookup_value 所搜尋的值。這些值可以是文字、數字或邏輯值 (不分大小寫)。

Col_index_num table_array 中的欄號;相符的值將從該欄中傳回。如果 col_index_num 引數值為 1,則傳回 table_array 第一欄中的值;如果 col_index_num 引數值為 2,則傳回 table_array 第二欄中的值,依此類推。如果 col_index_num:

小於 1,則 VLOOKUP 會傳回錯誤值 #VALUE!。
大於 table_array 中的欄數,則 VLOOKUP 會傳回錯誤值 #REF!。
Range_lookup 一個邏輯值,用來指定 VLOOKUP 應該要尋找完全符合還是部分符合的值:

如果此引數值為 TRUE 或被省略了,則傳回完全符合或部分符合的值。如果找不到完全符合的值,將會傳回僅次於 lookup_value 的值。
table_array 第一欄中的值必須以遞增順序排序;否則,VLOOKUP 可能無法提供正確的值。只要在 [資料] 功能表中選取 [排序] 指令,再選取 [遞增],即可將值以遞增順序排序。如需詳細資訊,請參閱預設排序順序。

如果此引數值為 FALSE,則 VLOOKUP 函數只會尋找完全符合的值。在此情況下,table_array 第一欄中的值便不需要排序。如果 table_array 第一欄中有兩個以上的值與 lookup_value 相符,將會使用第一個找到的值。如果找不到完全符合的值,則傳回錯誤值 #N/A。

2007-01-05 20:13:52 · answer #2 · answered by 寶寶 5 · 0 0

fedest.com, questions and answers