簡體   English   中英

將INDEX / MATCH與多個條件和多個匹配項並置

[英]Concatenating INDEX/MATCH with multiple criteria and multiple matches

我正在使用Excel跟蹤團隊游戲,在該游戲中,玩家分為團隊和團隊內的子團隊。 一個子團隊中的每個球員都獲得一定數量的分數,我想為每個球員提供一個匯總字符串,以及同一子團隊中其他球員的得分。

例:

A         B       C          D
PLAYER    TEAM    SUBTEAM    POINTS
Alice     Red     1          70
Bob       Red     1          20
Charlie   Red     1          10
Dave      Red     2          70
Erin      Red     2          30
Frank     Blue    1          55
Grace     Blue    1          45

我想要的輸出如下所示:

A         B       C          D        E
PLAYER    TEAM    SUBTEAM    POINTS   SUMMARY
Alice     Red     1          70       Bob:20, Charlie:10
Bob       Red     1          20       Alice:70, Charlie:10
Charlie   Red     1          10       Alice:70, Bob:20
Dave      Red     2          70       Erin:30
Erin      Red     2          30       Dave:70
Frank     Blue    1          55       Grace:45
Grace     Blue    1          45       Frank:55

我能走的最遠的是數組公式中CONCATENATE,INDEX和MATCH的組合:

{=CONCATENATE(INDEX($A$2:$A$8,MATCH(1,(C2=$C$2:$C$8)*(B2=$B$2:$B$8),0)), ":", INDEX($D$2:$D$8,MATCH(1,(C2=$C$2:$C$8)*(B2=$B$2:$B$8),0)))}

不幸的是,這只是輸出子團隊中第一個玩家的摘要:

A         B       C          D        E
PLAYER    TEAM    SUBTEAM    POINTS   SUMMARY
Alice     Red     1          70       Alice:70
Bob       Red     1          20       Alice:70
Charlie   Red     1          10       Alice:70
Dave      Red     2          70       Dave:70
Erin      Red     2          30       Dave:70
Frank     Blue    1          55       Grace:45
Grace     Blue    1          45       Grace:45

我現在需要做的是:

  1. 不包括摘要玩家(我不希望愛麗絲加入愛麗絲的摘要中,而只希望鮑勃和查理)
  2. 使它可以用於多個比賽(每個子團隊中可以有任意數量的球員)
  3. 讓CONCATENATE使用未知數量的琴弦(因為如上所述,每個子團隊中可以有任意數量的玩家)。

想法表示贊賞!

我整理了一個幫助列,其中將每個玩家/積分和TEXTJOIN的TEXTJOINIFS(用於xl2010 / xl2013)與期望結果的條件連接在一起

在此處輸入圖片說明

不幸的是,Excel(Excel 2016之前的版本)無法方便地聯接文本。 最好的辦法(如果要避免使用VBA)是使用一些輔助單元並將此“摘要”拆分為單獨的單元。

請參見下面的示例。 單元格E4的數組公式被拖動到單元格J10

= IFERROR(INDEX($A$4:$D$10,MATCH(SMALL(IF(($B$4:$B$10=$B4)*($C$4:$C$10=$C4)*($A$4:$A$10<>$A4),
  ROW($A$4:$A$10)),E$3),ROW($A$4:$A$10),0),MATCH(E$2,$A$1:$D$1,0)),"")

請注意,這是一個數組公式,因此在鍵入此公式后,必須按Ctrl + Shift + Enter,而不僅僅是Enter

在此處輸入圖片說明

當然,在此示例中,我假設有3位玩家。 單靠公式不能滿足您對任意數量玩家的要求,但是您可以根據需要將“摘要”部分擴展到右側。

如果確實需要,甚至可以將“摘要”行連接起來以形成單個單元格,例如:

= CONCATENATE(E4,": ",F4,", ",...)

暫無
暫無

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

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