簡體   English   中英

Excels INDEX MATCH - 查找多個匹配項

[英]Excels INDEX MATCH - Finding multiple matches

------A ----------------- B ----------------------C ------------------------D  
1 --First--------------Last-----------------Start Date--------------End Date  
2 --John--------------Smith--------------08/08/2014------------01/01/2015  
3---John--------------Smith--------------08/11/2014------------17/11/2014  
4---John--------------Smith--------------06/06/2014------------23/12/2014  
5---Abel--------------Jones--------------14/05/2014------------29/04/2015  
6---Abel--------------Jones--------------04/07/2014------------26/04/2015

有時在我的電子表格上我得到重復的名字。 例如上面的表(隨機數據)有3個John和2個Abel。 這些名稱是開始日期和結束日期。 如果我的開始日期或結束日期早於或晚於該名稱的上一個條目,我會通過執行來計算最長范圍(John Smith)

=MAX($D2:$D4)-MIN($C2:$C4)

這將給209天。
此外,我希望公式自動識別名稱是否在范圍內有重復,如果是,則檢索日期。 為此,我按如下方式執行INDEX MATCH功能。

    =INDEX(C:C,
MATCH(1,INDEX((A:A=$A3)*(B:B=$B3),0),0))

這應該是08/08/2014。
然后,我將兩個公式組合在一起,搜索比較匹配開始日期和結束日期的名字和姓氏,以找到最長的日期范圍。

=MAX(
   (INDEX($C:$C,
       MATCH(1,INDEX(($A:$A=$A4)*($B:$B=$B4),0),0)))
:$D4)
-
MIN(
   (INDEX($D:$D,
       MATCH(1,INDEX(($A:$A=$A4)*($B:$B=$B4),0),0)))
:$C4)

這又給出了209。
我現在使用這個公式的問題是,當INDEX MATCH函數掃描名稱列表以找到重復時,如果是,它將只匹配第一個。 如果有多個副本,它將忽略它。 表中有3個John Smiths,我希望公式檢查所有重復項之間的最長范圍。 這是否有意義,這可能嗎?

在使用數組公式時,我會更加手術地定義范圍。 給定小數據集,此數組公式給出了預期結果:

=MAX(IF(INDEX($A$2:$A$6&" "&$B$2:$B$6, 0) = A2&" "&B2, $D$2:$D$6)) - MIN(IF(INDEX($A$2:$A$6&" "&$B$2:$B$6, 0) = A2&" "&B2, $C$2:$C$6))

...通過Control + Shift + Enter確認激活陣列。

暫無
暫無

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

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