江信一
发表于 2022-1-11 07:24:26
=ABS(SUM(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,IFERROR(--MID(IF(LEN(CONCAT(IFERROR(--MID(A2,ROW($1:$99),1),"")))=1,A2&0,A2),ROW($1:$99),1),""))&"</b></a>","//b")*{-1;1}))
添加一组filterxml火车公式吧~~~~
盘古开天
发表于 2022-1-12 21:05:51
谢谢,完全正确~~~
白小浪
发表于 2022-1-12 22:48:48
简化一点点。。。
=LEN(-("."&--CONCAT(1-ISERR(FIND(ROW($1:$10)-1,A2&IF(COUNT(-MID(A2,ROW($1:99),1))=1,0))))))-4
北海姚仔
发表于 2022-1-14 22:20:21
少了7个字符呢~~~
诡异复苏
发表于 2022-1-16 10:31:30
=SUM(SMALL(IFERROR(-MID(A2,ROW($1:99),1),),MAX(2,COUNT(-MID(A2,ROW($1:99),1)))^{0,1})*{-1,1})
另一个思路
神秘使者
发表于 2022-1-17 15:51:20
Sub lll()
Dim rng As Range
Dim arr()
Dim i As Integer
Dim k, m
Set rex = CreateObject("VbScript.regexp")
For Each rng In Range("a2:a10")
With rex
.Global = True
.IgnoreCase = True
.Pattern = ""
For i = 0 To .Execute(rng).Count - 1
ReDim Preserve arr(1 To i + 1)
arr(i + 1) = .Execute(rng)(i) * 1
Next
k = Application.WorksheetFunction.Max(arr)
m = Application.WorksheetFunction.Min(arr)
If .Execute(rng).Count <> 1 Then
rng.Offset(0, 3) = k - m
Else
rng.Offset(0, 3) = k
End If
End With
Next
End Sub
萝呗
发表于 2022-1-20 00:54:12
崇拜VBA大神~~~花花后补!
中木
发表于 2022-1-21 03:15:37
没有到大家的奇思妙想层出不穷~~~
又有三秋之叶大佬的FIND()长度判定法和江山社稷大佬的一个SMALL同时取出最大最小值的方法~~~
大佬们大显身手,真的是精彩纷呈~~~谢谢各位大佬~~~~
大拙
发表于 2022-1-23 07:53:39
=MAX(MMULT(IFERROR(AGGREGATE({15,14},2,-MID(A2,ROW($1:99),1),{1,1;1,2}),),{-1;1}))
不知道一样不
希希乖宝贝
发表于 2022-1-23 17:15:05
厉害,果然是一样,你上个公式我就觉得差不多了