多個 Excel 工作表中的 VLOOKUP 和 IF

多個 Excel 工作表中的 VLOOKUP 和 IF

我的工作簿中有兩個 Excel 工作表,如下所示

表 1 和表 2:

在此輸入影像描述

下面是兩個sheet之間的字段關係

  • EID 與 EmID 相同
  • DepID 與 DependentID 相同
  • DepDOB 與 DependentDOB 相同

我想比較 EID 和 EmID。如果匹配,則對 DepID 與 DependentID 進行另一次比較。如果 DepID 為空,則將 DepDOB 與 DependentDOB 進行比較。當所有這些都成立時,從 Sheet2 中取得 DependentFirstName 和 DependentLastName 並將其複製到 Sheet 1 中的新欄位中。

請參閱下圖以了解我的預期結果。

輸出:

在此輸入影像描述

請建議一種方法來實現這一目標。如果VLOOKUP和IF必須結合,請告訴我公式。這讓我做惡夢:(

答案1

按要求解決

按照您要求的方式執行此操作的簡單方法是使用輔助列。假設工作表 1 看起來像您的輸出範例,顯示了 A:F 列,工作表 2 也顯示了 A:F。假設我們使用 G 列作為每張紙上的輔助列。

輔助列連接三個比較值。因此,在每張紙上,G2 將包含:

=A2&E2&F2

將公式複製到每張紙上的列中。然後比較這些值以找到您需要的記錄。

VLOOKUP 要求查找列位於陣列的最左邊。您可以使用 INDEX 加上 MATCH 來完成相同樣式的查找,但沒有此限制。表 1、C2 將包含:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),1)

在 D2 中:

=INDEX(sheet2!B:C,MATCH(G2,sheet2!G:G,0),2)

將這些內容複製到該列中。 MATCH 尋找與工作表 2 上的行相符的鍵並傳回對應的名稱。

螢幕截圖

如果您不想看到輔助列,可以隱藏它們。如果您好奇為什麼與 DepDOB 關聯的按鍵看起來不像日期,那是因為它使用 Excel 用來儲存日期的內部表示形式。

更簡單的解決方案

在這種情況下,您擁有填寫記錄中已包含的名字和姓氏欄位所需的所有資訊。您可以只解析 DepName 字段,而不是使用輔助列和查找。 C2 將是:

=LEFT(B2,FIND(" ",B2)-1)

D2 為:

=RIGHT(B2,LEN(B2)-FIND(" ",B2))

相關內容