2

如果另一个单元格匹配,则合并所有唯一值。我已经知道如何合并单元格,但现在有些信息是双倍的。所以我想要实现的是:

如果 A 列具有相同的名称,则 B 列中为该名称给出的所有值必须在新列中仅给出一次。

例如,我的数据有一行names和一行mode(第 1 行是标题)

     A      B    
2  Brenda   a
3  Brenda   a
4  Joey     a
5  Joey     b

所以我想要:

     E      
2    a
3  
4   a,b
5  

我已经合并了第 3 列中的模式:

=IF(A1<>A2;B2;C1&","&B2)

所以我得到了这个例子:

     C      
2    a
3   a,a
4    a
5   a,b 

然后,我已经这样做了,只有第一条记录在第 4 列中获得了附加模式:

=IF(A1=A2;"";INDEX(Sheet1!$C:$C;COUNTIF(Sheet1!$A:$A;$A2)+MATCH($A2;Sheet1!$A:$A;0) -1))

所以我得到了这个例子

     D      
2    a,a
3  
4    a,b
5  

现在我需要一个为每个名称只给出唯一值的列。所以在这个例子中:

     E      
2    a
3  
4    a,b
5  
4

1 回答 1

3

如果我了解您的数据的结构,请尝试以下操作:

添加一个新列,例如 G 列,以便于解释,它将每行中的名称和模式连接起来。因此,单元格 G2="Brendaa"、G3="Brendaa"、G4="Joeya"、G5="Joeyb" 等。

在合并步骤中,您将测试该列单元格中的当前值是否与该列中的任何先前值匹配:如果不匹配,则执行合并;如果是,你不知道。

您的合并公式将更改为如下所示:

    =IF(A1<>A2,B2,IF(ISERROR(VLOOKUP(G2,G$1:G1,1,0)),C1&","&B2,""))

然后你会像以前一样进行下一步。

于 2013-01-18T16:39:17.373 回答