Google Spreadsheets / Excel:替换每第n个空格

时间:2014-03-05 09:38:27

标签: excel google-sheets

我有一个文本字符串,我需要用分隔符替换每个第3个空格或每个第9个字符“;”或“:”

示例1 -

  

94 B7 13 94 A9 13 91 9F 13 94 92 11

结果

  

94 B7 13; 94 A9 13; 91 9F 13; 94 92 11

示例2 -

  

94 B7 13 94 A9 13 91 9F 13 94 92 11 9D 55 12

结果

  

94 B7 13; 94 A9 13; 91 9F 13; 94 92 11; 9D 55 12

我如何使用Google电子表格或Excel(首选Google电子表格)

2 个答案:

答案 0 :(得分:0)

最简单的方法是在Excel中使用循环遍历每个单元格的宏。如果选择包含要修改的单元格的范围并运行以下宏,则应将每个单元格中的每个第3个空格替换为;

Sub InsertDelimiter()
    Dim cell As Range
    Dim i As Integer
    Dim SpaceCount As Integer

    For Each cell In Selection
        SpaceCount = 0
        For i = 1 To Len(cell.Value)
            If Mid(cell.Value, i, 1) = " " Then
                SpaceCount = SpaceCount + 1
                If SpaceCount = 3 Then
                    cell.Value = Mid(cell.Value, 1, i - 1) & ";" & Mid(cell.Value, i + 1, Len(cell.Value) - i)
                    SpaceCount = 0
                End If
            End If
        Next i
    Next cell
End Sub

答案 1 :(得分:0)

在excel中你可以使用替换函数,最后一个参数是告诉要替换的空格。

仅替换3º空间

=SUBSTITUTE(A1;" ";";";3)

根据您的区域设置,您可能需要替换字段分隔符“;”通过“,”