Excel:有没有办法替换单元格字符串的特殊部分?

Excel:有没有办法替换单元格字符串的特殊部分?,excel,string,findandmodify,Excel,String,Findandmodify,我有一个excel导出,其中有一列以字符串形式包含员工以前的培训课程。 例子: First Name | Last Name | Training title | 2018年1月至2018年2月 由于从中收集数据的非强制性表单字段,许多字符串没有月末值,如2018年1月至 我试图找到一个公式来查找所有字符串以to结尾的(因此后面没有其他内容),并删除该字符串的孤立部分,使其看起来像2018年1月的 查找和替换是无用的,因为它也会在有月末/年末时替换值。替换似乎是一个很好的方法,但我未能找到公式的

我有一个excel导出,其中有一列以字符串形式包含员工以前的培训课程。 例子:
First Name | Last Name | Training title | 2018年1月至2018年2月

由于从中收集数据的非强制性表单字段,许多字符串没有月末值,如
2018年1月至

我试图找到一个公式来查找所有字符串
to
结尾的(因此后面没有其他内容),并删除该字符串的孤立部分,使其看起来像2018年1月的


查找和替换是无用的,因为它也会在有月末/年末时替换值。替换似乎是一个很好的方法,但我未能找到公式的正确结构。

测试它是否以带右的
结尾,如果是,则使用左省略它:

=IF(RIGHT(A1,2) = "to",LEFT(A1,LEN(A1)-2),A1)

测试它是否以带右的
结尾,如果是,则使用左省略它:

=IF(RIGHT(A1,2) = "to",LEFT(A1,LEN(A1)-2),A1)

这是用VBA实现的。别忘了检查末尾是否有多余的空格。如果有任何问题,请使用饰件

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

这是用VBA实现的。别忘了检查末尾是否有多余的空格。如果有任何问题,请使用饰件

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

如果你使用surte,你可以使用find(),它开始搜索时只使用最后两个字符…如果你使用surte,你可以使用find(),它开始搜索时只使用最后两个字符…对我的法语版Excel进行了一些修改,这工作非常完美。谢谢你,斯科特。如果一个法式面包同伴带着同样的问题来到这里:
=SI(DROITE(A1;2)=“to”;GAUCHE(A1;NBCAR(A1)-2);A1)
,并对我的法语版Excel进行了一些修改,这样做是完美的。谢谢你,斯科特。如果一个法式面包同伴带着同样的问题来到这里:
=SI(DROITE(A1;2)=“to”;GAUCHE(A1;NBCAR(A1)-2);A1)
我也会试试这个。我的VBA技能需要一些培训:)我也会试试这个。我的VBA技能需要一些培训:)