老哥们,这种情况能公式实现吗,问了几次gpt3.5,给出来的
excel吧
全部回复
仅看楼主
level 2
老哥们,这种情况能公式实现吗,问了几次gpt3.5,给出来的答案都不行。
感觉还是有点难度
2023年04月02日 14点04分 1
level 13
2023年04月02日 15点04分 2
level 13
2023年04月02日 15点04分 3
level 2
我随便打两串字符方便复制粘贴[小乖]
1543+//.我按zijab..3678uu
.....----jsisbb16665--1225
124--145--1666-3258哦
2023年04月02日 15点04分 4
你这个还是有问题,如果把16665和1225互换位置,你想要的答案是什么
2023年04月03日 05点04分
level 14
=-LOOKUP(9^9,-MID(A1,ROW(1:100),4))
2023年04月03日 01点04分 7
已经加负号了,是不是可以删掉9^9呀。
2023年04月03日 04点04分
level 11
2023年04月03日 02点04分 8
用正则,代码短些,但是如图所示的BUG,两个4位数中间夹一个非数字,正则只能找到前一个,找不到后面这个。想了半天解决不了。只能不用正则,代码稍长。
2023年04月03日 02点04分
不会相邻组成更高位数的数字,这句没注意。那这个问题就简单了。
2023年04月03日 05点04分
level 6
2023年04月03日 02点04分 9
如果最后是5位数、8位数结尾呢
2023年04月03日 04点04分
level 10
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
已添加自定义 = Table.AddColumn(源, "最后四位数字", each Text.Select([列1],{"0".."9"})),
已提取结尾字符 = Table.TransformColumns(已添加自定义, {{"最后四位数字", each Text.End(_, 4), type text}})
in
已提取结尾字符
2023年04月03日 04点04分 10
level 10
2023年04月03日 04点04分 11
没用过PQ,如果最后是5位数、8位数结尾呢
2023年04月03日 05点04分
@张明凯369 逻辑是提取全部数字,然后提取后4位。所以最后几位数结尾都没影响,PQ的好处是更新数据点一下刷新就行了,不用反复操作。
2023年04月03日 05点04分
@王哥聊影游 那把图片上的16665和1225换一下位置,提出来的是多少
2023年04月03日 05点04分
2000fegk-12345大小89000j have中4561比在5000小,78941K235一地
2023年04月03日 05点04分
level 10
2023年04月03日 05点04分 12
我又仔细看了一下,他要的是最后一个四位数的数字,我8楼的动图,是按最后一个四位数,来提取的
2023年04月03日 05点04分
不会相邻组成更高位数的数字,这句没注意。那这个问题就简单了。函数不难。
2023年04月03日 05点04分
@张明凯369 确实啊,我疏忽了这点,需要最后一个四位数字,我这个有问题
2023年04月03日 05点04分
@张明凯369 我又仔细看了一下,不会相邻组成更高位数字,其实我这个也没问题
2023年04月03日 05点04分
level 11
Option Explicit
Sub abc()
 Dim a, i, j, t, s
 s = "0123456789"
 a = [a1].CurrentRegion.Resize(, 1).Value
 For i = 1 To UBound(a)
  For j = 1 To Len(a(i, 1))
   If InStr(s, Mid(a(i, 1), j, 1)) = 0 Then _
    Mid(a(i, 1), j, 1) = Space(1)
  Next
  t = Split(a(i, 1))
  For j = UBound(t) To 0 Step -1
   If Len(t(j)) = 4 Then a(i, 1) = t(j): Exit For
  Next
  If j = -1 Then a(i, 1) = "?"
 Next
 [c1].Resize(UBound(a)) = a
End Sub
2023年04月03日 06点04分 13
源数据在A列,A1开始。
2023年04月03日 06点04分
1