找回密码
 立即注册
搜索

同一个格内重复的数字只保留一个

5
回复
486
查看
[复制链接]

2

主题

10

帖子

3

幻币

初入江湖

Rank: 1

积分
16
2021-11-28 09:02:00 显示全部楼层 |阅读模式
要求在表里边,先谢
同一格中的重复数字只保留一个.rar (27.85 KB, 下载次数: 140)
PPT学习论坛
回复

使用道具 举报

2

主题

10

帖子

4

幻币

初入江湖

Rank: 1

积分
18
2021-12-4 02:20:41 显示全部楼层
如果只有一个重复
=REPLACE(A1,MIN(IF(ROUNDUP(FIND(MID(A1,{1,2,3,4,5}*4-3,3),A1)/4,)={1,2,3,4,5},9,{1,2,3,4,5}))*4-3,4,"")

多个重复
=TEXTJOIN(" ",,TEXT(FILTERXML("<a><b>"&SUBSTITUTE(A1," ","</b><b>")&"</b></a>","a/b[not(preceding::*=.+0)]"),"000"))

365
=TEXTJOIN(" ",,UNIQUE(MID(A1,{1;2;3;4;5}*4-3,3)))
PPT学习论坛
回复 支持 反对

使用道具 举报

2

主题

5

帖子

2

幻币

初入江湖

Rank: 1

积分
9
2021-12-12 19:48:17 显示全部楼层
=TEXTJOIN(" ",,UNIQUE(TRIM(MID(A1,SORT(UNIQUE(IFERROR(FIND(" ",A1,ROW(INDIRECT("1:"&LEN(A1)))),0)))+1,4))))
PPT学习论坛
回复 支持 反对

使用道具 举报

1

主题

8

帖子

2

幻币

初入江湖

Rank: 1

积分
9
2021-12-19 04:21:33 显示全部楼层
低版本,多重复的
=SUBSTITUTE(TEXT(SUM(LARGE(IF(MMULT(N(--MID(A1,{1,2,3,4,5}*4-3,3)=ROW($1:$99)),{1;1;1;1;1}),ROW($1:$99),),ROW($1:$5))*1000^(ROW($1:$5)-1)),REPT("000 ",5)),"000 ",)
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

幻币

初入江湖

Rank: 1

积分
8
2022-1-20 04:07:41 显示全部楼层
拆分、去重、再合并:
=TEXTJOIN(" ",,UNIQUE(SSPLIT(A1)))

Public Function SSPLIT(ByVal strText$, Optional ByVal Delimiter = " ", Optional ByVal Limit& = -1, Optional ByVal Compare As VBA.VbCompareMethod = vbBinaryCompare)
  SSPLIT = VBA.Split(strText, Delimiter, Limit, Compare)
End Function
Public Function TEXTJOIN(ByVal Delimiter, ByVal ignore_empty, ParamArray text()) As String
  Dim tmptext As Variant, rng As Variant, cel As Variant, i As Long
  If IsMissing(Delimiter) Then Delimiter = "" Else Delimiter = CStr(Delimiter)
  If IsMissing(ignore_empty) Then ignore_empty = True Else ignore_empty = CBool(ignore_empty)
  tmptext = ""
  For i = 0 To UBound(text)
  rng = text(i)
  If IsArray(rng) Then
    For Each cel In rng
      If Len(cel) Or Not ignore_empty Then tmptext = tmptext & Delimiter & cel
    Next cel
  Else
    If Len(rng) Or Not ignore_empty Then tmptext = tmptext & Delimiter & rng
  End If
  Next
  TEXTJOIN = Mid(tmptext, Len(Delimiter) + 1)
End Function
Public Function UNIQUE(ParamArray rng())
  Dim dic As Object, itm, ocel, skey
  Set dic = CreateObject("scripting.dictionary")
  For Each itm In rng
  If TypeName(itm) = "Range" Then
    For Each ocel In itm
      dic(ocel.Value) = ""
    Next
  Else
    If IsArray(itm) Then
      For Each skey In itm
      dic(skey) = ""
      Next
    Else
      dic(itm) = ""
    End If
  End If
  Next
  UNIQUE = dic.keys
End Function
PPT学习论坛
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

幻币

初入江湖

Rank: 1

积分
3
2022-2-13 16:43:55 显示全部楼层
=CONCAT(IF(FIND(MID(A1,{1;5;9;13;17},3),A1)={1;5;9;13;17},MID(A1,{1;5;9;13;17},4),""))
PPT学习论坛
回复 支持 反对

使用道具 举报

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