替换字符串中不同位置的多个字符 Excel 2007

替换字符串中不同位置的多个字符 Excel 2007
=SUBSTITUTE(AD!H35,"&","")

上面的公式替换了单元格中的“&”符号,其中有文本

勤杂人员 / 司机和汽车

给予

勤杂人员 / 司机 汽车

我如何删除正斜杠“/”?

我见过使用嵌套替换公式来实现这一点,但因为我将来可能需要删除更多字符。我宁愿使用更优雅的解决方案。也许替换一整类非字母数字字符也是另一种解决方案?

答案1

不幸的是,我不知道有任何工作表函数比嵌套的 SUBSTITUTES 更优雅。如果您想使用 VBA 用户定义函数,这个函数可能会让您入门。

Public Function CleanAlpha(Target As Range) As String

    Dim rCell As Range
    Dim sReturn As String
    Dim i As Long

    'Only act on first cell
    Set rCell = Target.Cells(1)

    'loop through each character
    For i = 1 To Len(rCell.Value)
        Select Case Asc(Mid$(rCell.Value, i, 1))
            Case 65 To 90, 97 To 122 'letters
                sReturn = sReturn & Mid$(rCell.Value, i, 1)
            Case 32 'spaces
                sReturn = sReturn & Mid$(rCell.Value, i, 1)
        End Select
    Next i

    CleanAlpha = Trim(sReturn)

End Function

在工作表中使用

=TRIM(cleanalpha(A1))

答案2

=SUBSTITUTE(SUBSTITUTE(AD!H35,"&","")," /","")

试试这个。

相关内容