ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > 综合应用 > 如何获取数字串由左至右前三个不同数字的组合?

如何获取数字串由左至右前三个不同数字的组合?

作者:绿色风 分类: 时间:2022-08-18 浏览:162
楼主
kevinchengcw
Q: 如何获取数字串由左至右前三个不同数字的组合?
A: 可以利用下面三种方法达到目的:

方法一:
工作表函数,假设该字符串位于A1单元格
  1. =LEFT(SUBSTITUTE(A1,".",""),1)&LEFT(SUBSTITUTE(SUBSTITUTE(A1,".",""),LEFT(SUBSTITUTE(A1,".",""),1),""),1)&LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,".",""),LEFT(SUBSTITUTE(A1,".",""),1),""),LEFT(SUBSTITUTE(SUBSTITUTE(A1,".",""),LEFT(SUBSTITUTE(A1,".",""),1),""),1),""),1)
方法二:
VBA程序法,假设该字符串位于A1单元格,结果放入A2单元格
  1. Sub test()
  2. Dim Str As String
  3. Dim n As Integer
  4. Str = ""
  5. For n = 1 To Len([a1].Value)
  6.     If Mid([a1].Value, n, 1) <> "." Then
  7.         If Str = "" Then
  8.             Str = Mid([a1].Value, n, 1)
  9.         Else
  10.             If InStr(Str, Mid([a1].Value, n, 1)) = 0 Then
  11.                 Str = Str & Mid([a1].Value, n, 1)
  12.                 If Len(Str) = 3 Then Exit For
  13.             End If
  14.         End If
  15.     End If
  16. Next n
  17. [a2] = Str
  18. End Sub
第三种方法:
VBA自定义函数法
  1. Function GetNum(ByVal Rng As Range)
  2. Dim Str As String
  3. Dim n As Integer
  4. Str = ""
  5. For n = 1 To Len(Rng.Value)
  6.     If Mid(Rng.Value, n, 1) <> "." Then
  7.         If Str = "" Then
  8.             Str = Mid(Rng.Value, n, 1)
  9.         Else
  10.             If InStr(Str, Mid(Rng.Value, n, 1)) = 0 Then
  11.                 Str = Str & Mid(Rng.Value, n, 1)
  12.                 If Len(Str) = 3 Then Exit For
  13.             End If
  14.         End If
  15.     End If
  16. Next n
  17. GetNum = Str
  18. End Function
以上代码可根据实际运用中的不同需求更改成不同的结果,如返回全部不相同字符,右边的几个不同字符等等

附示例文件
Demo.rar
2楼
罗刚君
看不懂题意
更不明白取三个数字有什么用

免责声明

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

评论列表
sitemap