ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > 如何将1列字符串中“.net”后的内容重复的只保留1个?

如何将1列字符串中“.net”后的内容重复的只保留1个?

作者:绿色风 分类: 时间:2022-08-18 浏览:120
楼主
wjc2090742
Q:如何将1列字符串中“.net”后的内容重复的只保留1个?如下图,第9、11行中".net"后的内容与第8行中重复,则将第9、11行删除,如何实现?

 
A:方法一:B列辅助列公式,B2输入向下填充:

  1. =COUNTIF(A$2:A2,"*.net"&MID(A2,FIND(".net",A2)+4,99))

筛选B列大于1的数据,删除行。
方法二:VBA代码:

  1. Sub tt()
  2. Dim ar, di As Object, rg As Range, i%
  3. ar = WorksheetFunction.Transpose(Range("a1").Resize(Cells(Rows.Count, 1).End(3).Row, 1))
  4. Set di = CreateObject("scripting.dictionary")
  5. For i = 2 To UBound(ar)
  6.     If Not di.exists(Split(ar(i), ".net")(1)) Then
  7.         di.Add Split(ar(i), ".net")(1), ""
  8.     Else
  9.         If rg Is Nothing Then
  10.             Set rg = Cells(i, 1)
  11.         Else
  12.             Set rg = Union(rg, Cells(i, 1))
  13.         End If
  14.     End If
  15. Next
  16. Set di = Nothing
  17. rg.EntireRow.Delete Shift:=xlUp
  18. End Sub




该帖已经同步到

如何将1列字符串中“.net”后的内容重复的只保留1个?.rar
2楼
omnw
学习翁版的代码。
3楼
海洋之星
厉害,学习一下

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap