Excel: 有没有办法替换单元格字符串的特殊部分?
Excel: is there a way to replace a peculiar part of a cell string?
我有一个 excel 导出,其中有一列包含字符串中的员工以前的培训课程。
例子:
First Name|Last Name|Training title|January 2018 to February 2018
由于从中收集数据的非强制性表单字段,许多字符串没有结束月份值,例如 January 2018 to
我试图找到一个公式来查找所有 ending 与 to
的字符串(因此后面没有其他任何内容)并删除字符串的这个孤立部分所以它看起来像 January 2018
.
查找和替换是无用的,因为它还会在结束时替换值 month/year。替代似乎是个好方法,但我未能找到公式的正确结构。
测试是否以to
结尾为right,如果是则用left省略:
=IF(RIGHT(A1,2) = "to",LEFT(A1,LEN(A1)-2),A1)
这是 VBA。不要忘记在末尾检查额外的空格。如果有什么用TRIM.
Option Explicit
Sub Remove()
Dim Lastrow As Long, i As Long
'Change Sheet if needed
With ThisWorkbook.Worksheets("Sheet1")
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To Lastrow
If Right(.Range("A" & i).Value, 2) = "to" Then
.Range("A" & i).Value = Left(.Range("A" & i).Value, Len(.Range("A" & i).Value) - 3)
End If
Next i
End With
End Sub
我有一个 excel 导出,其中有一列包含字符串中的员工以前的培训课程。
例子:
First Name|Last Name|Training title|January 2018 to February 2018
由于从中收集数据的非强制性表单字段,许多字符串没有结束月份值,例如 January 2018 to
我试图找到一个公式来查找所有 ending 与 to
的字符串(因此后面没有其他任何内容)并删除字符串的这个孤立部分所以它看起来像 January 2018
.
查找和替换是无用的,因为它还会在结束时替换值 month/year。替代似乎是个好方法,但我未能找到公式的正确结构。
测试是否以to
结尾为right,如果是则用left省略:
=IF(RIGHT(A1,2) = "to",LEFT(A1,LEN(A1)-2),A1)
这是 VBA。不要忘记在末尾检查额外的空格。如果有什么用TRIM.
Option Explicit
Sub Remove()
Dim Lastrow As Long, i As Long
'Change Sheet if needed
With ThisWorkbook.Worksheets("Sheet1")
Lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 1 To Lastrow
If Right(.Range("A" & i).Value, 2) = "to" Then
.Range("A" & i).Value = Left(.Range("A" & i).Value, Len(.Range("A" & i).Value) - 3)
End If
Next i
End With
End Sub