使用excel公式在包含2列的表中返回唯一值

时间:2011-08-12 21:07:58

标签: excel excel-formula

我正在搜索网络和stackoverflow,但无法弄明白。 =(

我的表格如下:

R1  U1
R1  U1
R1  U2
R1  U3
R2  U2
R2  U2
R2  U3

是否可以使用excel公式返回

R1 U1,U2, U3
R2 U2, U3

谢谢!

3 个答案:

答案 0 :(得分:3)

据我所知,Excel中没有可以执行此操作的功能。您想要的基本上是VLOOKUP,它返回所有值而不是一个。

但是,您可以编写VBA函数来执行此操作,类似于:

Public Function FindSeries(TRange As Range, MatchWith As String) 

    For Each cell In TRange 
        If cell.Value = MatchWith Then 
            x = x & cell.Offset(0, 1).Value & ", " 
        End If 
    Next cell 

    FindSeries = Left(x, (Len(x) - 2)) 

End Function 

您可以在此处找到此代码和更多信息:http://www.ozgrid.com/forum/showthread.php?t=25239&page=1

答案 1 :(得分:2)

数据透视表

enter image description here

答案 2 :(得分:0)

假设您输入R1或R2的单元格是命名范围clVal。 如果您的数据在A1:B7范围内,请在C1:C7中添加一个辅助列,如下所示:

C1:  =IF($A$1=clVal,B1 & ", ","")
C2:  =IF($A2=clVal,$C1&IF(ISERROR(FIND($B2,$C1)),B2&",",""),$C1)
 copy this formula down to C7.

最后,如果有的话,我们需要砍掉训练逗号。 这可以通过

完成
=LEFT(C7,LEN(C7)-1*(RIGHT(C7,1)=","))