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 我试图找到一个公式来查找所有 endingto 的字符串(因此后面没有其他任何内容)并删除字符串的这个孤立部分所以它看起来像 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