EXCEL IF函數引數過長的問題

我想要做一份部門職員名單,同時只要輸入職員姓名,就能在隔壁欄自動出現該職員的工號。

目前使用的函數是

=IF(A2="李大明","001")

可是它似乎有引數長度的限制,而我要輸入的職員有20名的話,有什麼更好的方式可以完成呢?謝謝!

已更新項目:

謝謝ㄚ係哇第一與鬍鬚的解答,這方式真好用。

只是不知道有沒有辦法可以讓

當姓名欄位是空白時,工號欄位可以也保持空白而不要出現「#N/A」?

2 個已更新項目:

(自問自答)找到一個解決「#N/A」的方式

=IF(ISNA(VLOOKUP(A2,Sheet2!A:B,2,0)),"",VLOOKUP(A2,Sheet2!A:B,2,0))

2 個解答

評分
  • 9 年前
    最佳解答

    可以利用資料庫的方式(建議用數字找職員姓名,因為數字比較好輸入,若仍要姓名找工號,那就將兩欄對換即可。)

    A欄是工號或編號

    B欄是姓名

    然後用vlookup(索引值,資料庫範圍,資料庫範圍左起第N欄,0)

    若資料庫為A2:B21

    在C欄輸入某代號(此要為資料庫唯一的代號,如在C2輸入:001)

    則尋找方法的D2欄公式公式如下:

    =VLOOKUP(C1,A2:B21,2,)

    若要往下複製,則要加$絕對符號

    =VLOOKUP(C1,$A$2:$B$21,2,)

    2011-08-03 08:47:23 補充:

    前面加個判斷式即可:

    =IF(C1="","",VLOOKUP(C1,$A$2:$B$21,2,) )

  • 鬍鬚
    Lv 7
    9 年前

    1. 在Seeet2建立資料庫

    A欄為姓名,B蘭為代號

    2. Sheet1 A2設定下拉式清單

    功能表[資料]>>[驗證]>>儲存格內允許[清單]>>[來源]輸入

    =SHEET2!A:A>>[確定]退出

    3. Sheet1 B2設定=VLOOKUP(A2,Sheet2!A:B,2,0)

還有問題?馬上發問,尋求解答。