怎样把1个格子里的数字与文字快速分成2个格子,如,
怎样把下图:
分成下面的样子:
请问有哪些方法?
谢谢了
------最佳解决方案--------------------------------------------------------
如果数字是连续的话,那简单的, =LOOKUP(9E+307,--MID(A1,1,ROW(INDIRECT("1:"&LEN(A1)))))
------其他解决方案--------------------------------------------------------
使用VBA可以不?需要指定具体的行数,容错性较差,且分拆的数据必须要有规律,每两列分拆数据之间要留出至少二行空间,不过分拆基本没有问题了。操作时,要用鼠标单击一下分拆列的最开始的那一个单元格,也就是这列最上面那个单元格了。
给个图:
Option Explicit
Sub SplitNumStr()
Dim iRows As Long
Dim strCellContent As String
Dim iNumber As String
Dim strString As String
Dim strCurrentNum As String
Dim i, t As Integer
Do Until iRows <> 0
iRows = Application.InputBox(Prompt:="请输入需分拆的行数:", _
Title:="输入行数" , Type:=1)
Loop
For t = 1 To iRows
strCellContent = ActiveCell.Value
For i = 1 To Len(strCellContent)
strCurrentNum = Mid(strCellContent, i, 1)
If Not IsNumeric(strCurrentNum) Then
Exit For
End If
Next i
iNumber = Left(strCellContent, i - 1)
strString = Right(strCellContent, Len(strCellContent) - i + 1)
ActiveCell.Offset(0, 1) = iNumber
ActiveCell.Offset(0, 2) = strString
ActiveCell.Offset(1, 0).Select
Next t
End Sub
------其他解决方案--------------------------------------------------------
这个问题我也想解决……顶起……
------其他解决方案--------------------------------------------------------
首选,Excel中是有分列功能的,分列功能需要有特别符号作识别才可以。
例如,空格,逗号,分号。
所以,第一步,是需要把你单元格中的数据建立符号识别,
如果你的所有单元格中都有 “啤酒”这个数据,那么你先使用 替换功能,将 “啤酒”替换
成“ 啤酒”(注意,这个前面加了空格)
第二步,选中那一列,然后点击Excel中的数据--->分列功能,
---〉选择 使用分隔符号,下一步
---〉选择 空格,下一步
---〉再下一步可以预览,最后完成。
------其他解决方案--------------------------------------------------------
楼上,如果用VBA的话,你的代码两个for next,丝毫体现不出VBA的高效性,用正则就快多了
------其他解决方案--------------------------------------------------------
to 5 楼:
我刚看VBA才两、三天时间,那有空看正则啊?要不,你搞个出来,大家围观一下。
------其他解决方案--------------------------------------------------------