簡體   English   中英

當多個條件之一在數字范圍內時,Excel INDEX MATCH

[英]Excel INDEX MATCH when one of multiple criteria is within a range of numbers

為了識別大量個人記錄中的重復項,我將所有姓名替換為姓名和出生日期 (DOB) 的 CONCATENATE。 這是我參考的工作表(DOB!):

DOBs! -----------------------------------------
C               D           E       F       G       I            K
Name            Years       Start   End     # Yrs   DOB          NewNameDOB
Sally Adams     2014-2014   2014    2014    1       1968-1204    Sally Adams1968-1204
John Agnew      2014-2014   2014    2014    1       1979-0419    John Agnew1979-0419  
Bob Anderson    2013-2014   2013    2014    2       1965-0402    Bob Anderson1965-0402  
Antonio Andrews 2014-2014   2014    2014    1       1955-0716    Antonio Andrews1955-0716  
Julie Assan     2012-2014   2012    2014    3       1978-0805    Julie Assan1978-0805  

在主表(員工!)上,每個人都有一行數據,用於每個活躍年份。 工作 14 年,你有 14 行數據需要跟蹤。

Employees! -----------------------------------------
C       D               **E**                       F       G   H   I   J...
Year    Name            NewNameDOB                  Dept
2013    Julie Assan     Julie Assan1978-0805        East
1998    Mike Rogers     Duplicate in Same Year      Main
1999    Mike Rogers     Duplicate in Same Year      Main
2000    Mike Rogers     Mike Rogers1969-0510        Main
2001    Mike Rogers     Mike Rogers1969-0510        Main

如前所述,我需要從 10395 條記錄(如 Mike Rogers 和 Mike Rogers)中分離出重復名稱。 雇員! E 列現在將員工標識為 Julie Assan1978-0805 和 Julie Assan1980-0131(例如)。

今天,我們邁出了第一步,利用他們工作的年數來解決 99% 的重復項。 在此之后,將只剩下幾個同時工作的重復名稱,我將不得不手動處理。

如果員工! 工作表上有“Julie Assan”的 2013 年記錄,那么第一步是檢查 DOB 以查找在 2013 年工作的任何 Julie Assans。我在員工中的列 E! 將采用 Julie Assan 2013 年的當前記錄,並在 DOB 中查找任何匹配項! 其中 C(姓名)匹配 Julie Assan、E <= 2013 和 F >= 2013。通常只有一個匹配項,它會告訴我這是 Julie Assan1978-0805。 有時,會有兩個 Mike Rogers 在同一年工作,它應該告訴我“同年重復”。

關於員工! 表列 E ,我已經開始了這個......
=index(DOBs!$k$2:$k$10395,match($d3&$c3,DOBs!$c$2:$c$10395&???,0)

不知道這個公式去哪里,是否意味着添加“IF”或不同的東西。

編輯以深入解釋

=IF(COUNTIFS(DOBs!C$2:C$10395,Employees!D2,DOBs!E$2:E$10395,"<="&Employees!C2,DOBs!F$2:F$10395,">="&Employees!C2)>1,"Duplicate in Same Year",INDEX(DOBs!K$2:K$10395,MATCH(TRUE,IF(DOBs!C$2:C$10395=Employees!D2,IF(DOBs!E$2:E$10395<=Employees!C2,IF(DOBs!F$2:F$10395>=Employees!C2,TRUE))),0)))

通過使用 Ctrl+Shift+Enter 確認輸入數組公式,然后向下自動填充。 它首先使用 COUNTIFS 檢查重復項,如果是,則返回“同年重復”。 如果沒有重復,它使用 INDEX/MATCH 來查找 NewNameDOB。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM