![替换字符串中不同位置的多个字符 Excel 2007](https://linux22.com/image/1268072/%E6%9B%BF%E6%8D%A2%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E4%B8%8D%E5%90%8C%E4%BD%8D%E7%BD%AE%E7%9A%84%E5%A4%9A%E4%B8%AA%E5%AD%97%E7%AC%A6%20Excel%202007.png)
=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,"&","")," /","")
试试这个。