Excel - 从单元格末尾检索数字并移动到开始

时间:2018-02-20 23:16:07

标签: excel vba numbers move

我有一个输出的excel表,它在一列中的单个单元格中有地址,但是门牌号在单元格值的末尾。

AAA Street 10
BBB Street 11

是否存在一个脚本,如果一个单元格包含一个数字,它将获取该数字并将其放在单元格的开头,如下所示:

10 AAA Street
11 BBB Steet

我有一个系统可以将这些信息生成到地址标签中,但我的国家/地区邮政服务需要一开始的数字。

3 个答案:

答案 0 :(得分:0)

令人难以置信的令人费解,但你可以采用以下方法来获得你想要的东西:

startTimer(tvClock,sec);

enter image description here

就个人而言,我会将以下部分分配给定义的名称,并在公式中使用它:

=RIGHT(SUBSTITUTE($A2," ","/",LEN($A2)-LEN(SUBSTITUTE($A2," ",""))),LEN($A2)-SEARCH("/",SUBSTITUTE($A2," ","/",LEN($A2)-LEN(SUBSTITUTE($A2," ","")))))&" "&LEFT(SUBSTITUTE($A2," ","/",LEN($A2)-LEN(SUBSTITUTE($A2," ",""))),SEARCH("/",SUBSTITUTE($A2," ","/",LEN($A2)-LEN(SUBSTITUTE($A2," ",""))))-1)

这样做会让它更容易阅读。

答案 1 :(得分:0)

您可能没有要搜索的每个单元格末尾的数字。这里有一个公式,用于检查空格的最后五个字符,如果没有单独的单元格,则会交换所找到的字符。

= IF(IFERROR(FIND("",MID(A2,LEN(A2)-5,50)),0)= 0,A2,MID(A2,LEN(A2) - (发现("",MID(A2,LEN(A2)-5,50))-1),40)&""& MID(A2,1, LEN(A2) - 寻找("",MID(A2,LEN(A2)-5,50))))

答案 2 :(得分:0)

VBA解决方案:

Option Explicit

Sub main()
    Dim cell As Range
    Dim element As Variant

    With Worksheets("MySheetName") ' change "MySheetName" to your actual sheet name
        For Each cell In .Range("A1:A" & .Cells(.Rows.Count, "A").End(xlUp).Row) ' loop through columns A cells from row 1 down to last not empty one
            For Each element In Split(cell.value, " ") 'loop through current cell content string "elements" separated by spaces
                If IsNumeric(element) Then ' if current element is a "numeric" one
                    cell.value = element & " " & Replace(cell.value, element, "") 'move element at the beginning of the cell content
                    Exit For
                End If
            Next
        Next
    End With
End Sub