Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1901|回复: 7

[已解决]去重复 再合并

[复制链接]
发表于 2013-6-26 17:52 | 显示全部楼层 |阅读模式
谢各位大家帮看下!
最佳答案
2013-6-26 18:48
本帖最后由 何苦守望 于 2013-6-26 18:50 编辑

=MID(SUM(RIGHT(LARGE(--TEXT((COUNTIF(OFFSET($F3,,,,COLUMN(A:L)),F3:Q3)=1)*(13-COLUMN(A:L))+F3:Q3%,"[>=1]0.00;!0"),ROW($1:$12)),2)/100^ROW($1:$12)),3,99)
数组,下拉。

MID(SUM(RIGHT(SMALL(-TEXT((COUNTIF(OFFSET($F3,,,,COLUMN(A:L)),F3:Q3)=1)*(13-COLUMN(A:L))+F3:Q3%,"[>=1]0.00;!0"),ROW($1:$12)),2)/100^ROW($1:$12)),3,99)

也可以。

重复值保留一个然后合并.zip

32.9 KB, 下载次数: 41

发表于 2013-6-26 18:30 | 显示全部楼层
  1. Sub tqhb()
  2. 'http://www.excelpx.com/thread-303840-1-1.html
  3. Dim dic As Object
  4. Application.ScreenUpdating = False
  5. Set dic = CreateObject("scripting.dictionary")
  6. trow1 = Range("F65536").End(3).Row
  7. trow2 = Range("G65536").End(3).Row
  8. trow3 = Range("H65536").End(3).Row
  9. trow4 = Range("I65536").End(3).Row
  10. trow5 = Range("J65536").End(3).Row
  11. trow6 = Range("K65536").End(3).Row
  12. trow7 = Range("L65536").End(3).Row
  13. trow8 = Range("M65536").End(3).Row
  14. trow9 = Range("N65536").End(3).Row
  15. trow10 = Range("O65536").End(3).Row
  16. trow11 = Range("P65536").End(3).Row
  17. trow12 = Range("Q65536").End(3).Row
  18. trow = Application.Max(trow1, trow2, trow3, trow4, trow5, trow6, trow7, trow8, trow9, trow10, trow11, trow12)
  19. Range("R:R").ClearContents
  20. arr = Range("F1:R" & trow)
  21. For i = 1 To UBound(arr)
  22.     For k = 1 To UBound(arr, 2) - 1
  23.          For x = k + 1 To UBound(arr, 2) - 1
  24.             If arr(i, k) = arr(i, x) Then
  25.                 arr(i, x) = ""
  26.             End If
  27.         Next x
  28.         arr(i, UBound(arr, 2)) = arr(i, UBound(arr, 2)) & arr(i, k)
  29.     Next k
  30. Next i
  31. Range("F1").Resize(UBound(arr), UBound(arr, 2)) = arr
  32. Application.ScreenUpdating = True
  33. End Sub
复制代码
附件下载:

重复值保留一个然后合并[url]www.excelpx.comthread-303840-1-1.html.xlsm [/url]
回复

使用道具 举报

 楼主| 发表于 2013-6-26 18:36 | 显示全部楼层
回复

使用道具 举报

发表于 2013-6-26 18:48 | 显示全部楼层    本楼为最佳答案   
本帖最后由 何苦守望 于 2013-6-26 18:50 编辑

=MID(SUM(RIGHT(LARGE(--TEXT((COUNTIF(OFFSET($F3,,,,COLUMN(A:L)),F3:Q3)=1)*(13-COLUMN(A:L))+F3:Q3%,"[>=1]0.00;!0"),ROW($1:$12)),2)/100^ROW($1:$12)),3,99)
数组,下拉。

MID(SUM(RIGHT(SMALL(-TEXT((COUNTIF(OFFSET($F3,,,,COLUMN(A:L)),F3:Q3)=1)*(13-COLUMN(A:L))+F3:Q3%,"[>=1]0.00;!0"),ROW($1:$12)),2)/100^ROW($1:$12)),3,99)

也可以。
回复

使用道具 举报

 楼主| 发表于 2013-6-26 19:33 | 显示全部楼层
何苦守望 发表于 2013-6-26 18:48
=MID(SUM(RIGHT(LARGE(--TEXT((COUNTIF(OFFSET($F3,,,,COLUMN(A:L)),F3:Q3)=1)*(13-COLUMN(A:L))+F3:Q3%,"[ ...


大侠为什么 把这个公式放到hf5的位置公式就出现错误值呢?不好意思,我很菜鸟!
回复

使用道具 举报

发表于 2013-6-26 19:35 | 显示全部楼层
找钱人 发表于 2013-6-26 19:33
大侠为什么 把这个公式放到hf5的位置公式就出现错误值呢?不好意思,我很菜鸟!

改成对应坐标就行了。
这公式在你这个表里是可以使用的,数组公式。
回复

使用道具 举报

发表于 2013-6-28 12:54 | 显示全部楼层
R3==IF(COUNTIF(F3:$F3,F3)=1,F3,"")&IF(COUNTIF(F3:$G3,G3)=1,G3,"")&IF(COUNTIF(F3:$H3,H3)=1,H3,"")&IF(COUNTIF(F3:$I3,I3)=1,I3,"")&IF(COUNTIF(F3:$J3,J3)=1,J3,"")&IF(COUNTIF(F3:$K3,K3)=1,K3,"")&IF(COUNTIF(F3:$L3,L3)=1,L3,"")&IF(COUNTIF(F3:$M3,M3)=1,M3,"")&IF(COUNTIF(F3:$N3,N3)=1,N3,"")&IF(COUNTIF(F3:$O3,O3)=1,O3,"")&IF(COUNTIF(F3:$P3,P3)=1,P3,"")&IF(COUNTIF(F3:$Q3,Q3)=1,Q3,"")
回复

使用道具 举报

 楼主| 发表于 2013-6-28 14:27 | 显示全部楼层
kekiangel 发表于 2013-6-28 12:54
R3==IF(COUNTIF(F3:$F3,F3)=1,F3,"")&IF(COUNTIF(F3:$G3,G3)=1,G3,"")&IF(COUNTIF(F3:$H3,H3)=1,H3,"")&IF( ...


亲如果我要是十五六个单元,那要写很长的公式了,不过还是要谢谢您      ,您的这个公式比较适合单元格少的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-15 00:04 , Processed in 0.302640 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表