
我正在嘗試查找多列之間的匹配項,如果匹配,那麼我想突出顯示所有匹配的行。
這些列可以是這樣的——
- AAA
- 血腦屏障
- CCC
範例列/行
AAA BBB CCC
INS50 FG23 YU44
INS51 FG23 YU44
INS55 FG23 YU45
INS55 FG23 YU46
INS54 FG27 YU49
INS54 FG28 YU49
----- FG28 YU89
INS59 ---- YU49
如果我們考慮最後 3 行,那麼
INS54與FG28和YU49有關係
FG28與YU49和YU89有關係
現在我想建立匹配的行
INS54 FG28 YU49 FG27
FG28 YU89 YU49
我不知道這怎麼可能。
非常感謝任何幫助。提前致謝。
答案1
很難準確地理解你在問什麼,但這裡的結果可能會讓你接近你想要去的地方。
看來您的問題有兩個部分:列出 AAA 列中項目的關係,第二部分列出 BBB 列中項目的關係。因此,下面的結果表有兩個部分。
E2 中的此公式並向下填充,用於列出 A 列中的不同值:
=IFERROR(INDEX($A$2:$A$9,MATCH(0,INDEX(COUNTIF($E$1:E1,$A$2:$A$9),0,0),0)),"")
同樣,E8 中的此公式列出了 B 列中的不同值:
=IFERROR(INDEX($B$2:$B$9,MATCH(0,INDEX(COUNTIF($E$7:E7,$B$2:$B$9),0,0),0)),"")
您問題的第一部分似乎需要 B 列和 C 列中的值列表,這些值對應於 A 列中的不同值。
=IFERROR(INDEX($B$2:$C$9,SMALL(IF($A$2:$A$9=$E2,ROW($A$2:$A$9)-1,""),MOD(COLUMN(),2)+1),TRUNC(COLUMN()/2)-2),"")
必須使用Ctrl+輸入Shift Enter,而不僅僅是Enter。輸入後,可以向下和向右填充,以在結果表的上部產生結果。請注意,列出了一些重複的值。
您問題的第二部分似乎需要 C 列中的值列表,這些值對應於 B 列中的不同值。
=IFERROR(INDEX($C$2:$C$9,SMALL(IF($B$2:$B$9=$E8,ROW($A$2:$A$9)-1,""),COLUMN()-5)),"")
這裡的假設是第一部分最多有兩個相關值,第二部分有 4 個。
如果您想進一步追求這一點,可以使用類似於在 E 列中列出不同值的公式來刪除這些結果中的重複項。