[英]Split a string (101500810100015835001000) based on character using excel
我如何使用excel或其他任何更简单的语言来实现这一目标?
original data:
100301010100019743024000
after formatting:
100,3010,1,01,000,1974,3024,000
Segment 1 = 3 char
Segment 2 = 4 char
Segment 3 = 1 char
Segment 4 = 2 char
Segment 5 = 3 char
Segment 6 = 4 char
Segment 7 = 4 char
Segment 8 = 3 char
非常感谢。
正是出于这个目的 ,VBA具有left()
, right()
和mid()
函数。
执行此操作的函数应类似于:
Function FmtStr (MyStr As String) As String
If Len (MyStr) <> 24 Then
FmtStr = "?"
Else
FmtStr = _
Mid (MyStr, 1, 3) + "," + _
Mid (MyStr, 4, 4) + "," + _
Mid (MyStr, 8, 1) + "," + _
Mid (MyStr, 9, 2) + "," + _
Mid (MyStr, 11, 3) + "," + _
Mid (MyStr, 14, 4) + "," + _
Mid (MyStr, 18, 4) + "," + _
Mid (MyStr, 22, 3)
End If
End Function
通过以下方式调用:
MsgBox (FmtStr("100301010100019743024000"))
给您一个对话框,因此:
如果只想在Excel公式中使用它,则可以使用:
=concatenate(mid(a1,1,3), ",", mid(a1,4,4), ",", ... ",", mid(a1,22,3))
(当然,假设原始字符串在A1
单元格中)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.