尝试从MS EXCEL中另一列的多个值组合中选择唯一值

4urapxun  于 2023-03-20  发布在  其他
关注(0)|答案(1)|浏览(110)

我有这个数据:

43833   N/A
43833   Eye
43834   Multiple
43834   Legs
43841   Legs
43841   N/A
43845   Neck
43845   Feet
43845   N/A
43848   Arms
43848   N/A
43856   Neck
43856   Eye
43857   N/A
43857   Eye

我想

  • 根据第2列中的值组合查找第1列中的唯一值
  • 例如,如果我给予N/A,我的眼睛应该得到-结果为:
43833    N/A
 43833    Eye
 43857    N/A
 43857    Eye
  • 结果应仅显示通过的组合的重复列(本例中为N/A和Eye)

我用了if/AND/OR和countif函数,但是我认为这是不对的。我没有得到它。

yqlxgs2m

yqlxgs2m1#

您可以尝试以下操作:

=LET(f,FILTER(A1:B15,1-ISNA(XMATCH(B1:B15,C2:C3))), A, TAKE(f,,1),
 FILTER(f,MAP(A, LAMBDA(x, SUM(N(A=x))))>1))

您也可以尝试按如下方式使用COUNTIFS

=LET(cnts, COUNTIFS(A1:A15, A1:A15, B1:B15, TOROW(C2:C3)),
 FILTER(A1:B15, BYROW(cnts, LAMBDA(x, SUM(x)))>=ROWS(C2:C3)))

或添加更多名称以避免重复和输入范围仅集中在两个名称(inlk)中:

=LET(in,A1:B15,lk,C2:C3,A,TAKE(in,,1),B,TAKE(in,,-1), cnts,
 COUNTIFS(A,A,B,TOROW(lk)), FILTER(in,BYROW(cnts,LAMBDA(x,SUM(x)))>=ROWS(lk)))

下面是输出:

如果希望查找值位于单个单元格中,并以,分隔,则可以尝试以下操作:

=LET(lk, TEXTSPLIT(C3,","), f,FILTER(A1:B15,1-ISNA(XMATCH(B1:B15,lk))), 
 A, TAKE(f,,1), FILTER(f,MAP(A, LAMBDA(x, SUM(N(A=x))))>1))

相关问题