Private Sub CommandButton1_Click()
Dim xm() As String, Arr() As String, Temp() As String '声明变量
Dim s%, r% '声明单值变量
On Error Resume Next '启动一个错误处理程序
xm = Split(Range("a1"), ",") '用A1单元格的数据创建数组
r = 0 '初值
s = UBound(xm) '最大下标
For i = 0 To s '循环
Temp = Filter(Arr, xm(i)) '搜索数组
If UBound(Temp) = -1 Then '如果未找到
r = r + 1 '序号,自增1
ReDim Preserve Arr(1 To r) '定义动态数组大小
Arr(r) = xm(i) '把内容复制到数组Arr()中。
End If
Next
'Range("a2").Resize(1, r) = Arr '填充到工作表
Range("a2") = Join(Arr, ",")
End Sub
c1=IF(AND(COUNTIF(A$1:A1,A1)=1,COUNTIF(A$1:A$6,A1)>1),A1&",","")
拖至c6
a7=LEFT(CONCATENATE(c1,c2,c3,c4,c5,c6),LEN(CONCATENATE(c1,c2,c3,c4,c5,c6))-1)
第二种情况得先考虑以“,”分列,稍复杂。如果上面的公式能看懂,可仿做,不难。
选d1:e6,输入=IF(AND(COUNTIF($A$1:B1,A1)=1,COUNTIF($A$1:$B$6,A1)>1),A1&",",""),CTRL+回车;
选d7:e7,输入=CONCATENATE(D1,D2,D3,D4,D5,D6),CTRL+回车;
a7=left(d7&e7,len(d7&e7)-1)
大功告成。
我也想知道这个问题,但是俺也不会,收藏了,等高手回答
我还没有看清问题,但我也想等答案。
第二个情况就复杂了把...