2014-10-08 64 views
0

請求:
請協助瓦特\式邏輯,以提供錯誤處理和VLOOKUP功能在兩個可能的列(表陣列內),並在陣列返回僱員ID(第三列)。Excel的錯誤處理 - 查找和返回僱員ID

目標:
創建一個自動填充出勤跟蹤器中查找輸入的電話號碼,並返回一個嵌入式「花名冊」工作的員工ID。此外,我正在嘗試提供跨兩個電話號碼的功能。

「考勤跟蹤」 工作表佈局:(斜體強調)
日期| TIME | 來電顯示號 | TYPE |原因|詳情| EMPLOYEE# | ETC ...

  • 主叫方ID =列d
  • 僱員#=列I

「名冊」 工作表表陣列,用於VLOOKUP

  • H列=「主要聯繫人」
  • 列I = 「聯繫輔助」
  • 列J = 「員工編號」

初級式(S)

  • 首先」= VLOOKUP(D2,名冊1 H :J,3,0)< ---查看emp number與「Contact Primary」的對照
  • 「= VLOOKUP(D2,Roster!H:J,2,0)< ---查找em反 「聯繫次要」

我嘗試
= IF(D2 = 「」, 「」,IF(ISERROR(IF(ISERROR(VLOOKUP(第一)),VLOOKUP(第二),VLOOKUP p個(一))), 「加#號名冊」,VLOOKUP(FIRST))))

我的結果
「來電顯示」 留空 - 完美!頂級if語句修復了空白。
「主要聯繫人」列中存在「來電顯示」 - 完美!價值回報。
「聯繫次要」列中存在「來電顯示」 - 哦不! 「添加#名冊」返回。
「聯繫主/輔助」中不存在「來電顯示」 - 哦,不! 「添加#名冊」返回。

我希望我解釋得很好。如果您能夠提供幫助,請提前致謝!

+0

您正在使用什麼版本的Excel? Excel 2007引入了[IFERROR()函數](https://support.office.com/zh-CN/Article/IFERROR-function-f59bacdc-78bd-4924-91df-a869d0b08cd5?ui=en-US&rs=zh-CN&add = US),這大大減少了錯誤控制的'VLOOKUP()'公式的大小。 – Jeeped 2014-10-08 22:24:34

+0

Jeeped - 在Excel 2010上進行開發,但我們公司仍然有一些系統在搖擺出Excel 2003. :( – Josh 2014-10-08 22:32:08

回答

1

我懷疑你想可能是什麼:

=IF(D2="","",IF(AND(ISERROR(VLOOKUP(D2,Roster!H:J,3,0)),ISERROR(VLOOKUP(D2,Roster!I:J,2,0))),"Add # to Roster", IF(ISERROR(VLOOKUP(D2,Roster!H:J,3,0)),(VLOOKUP(D2,Roster!I:J,2,0)),(VLOOKUP(D2,Roster!H:J,3,0))))) 
+1

我很感激!期待明天測試,我會更新這個答案然後 – Josh 2014-10-09 01:58:20

+1

謝謝! – Josh 2014-10-09 18:16:41