修剪以逗号开头的字符串 - Excel

时间:2016-03-18 15:46:45

标签: excel

我有一张csv表,其中包含Employee作为姓氏,名字的数据。 以下是一个例子。 (这些值在单个单元格中)

Flynn, Jeremy  
Early, Allison   
Epstein, David   
Newman, Joanna  
Biord, Brooke

我需要修剪数据,这样我只需要没有任何尾随空格或逗号的名字。

OutPut Sample应为:

Jeremy 
Allison 
David 
Joanna 
Brooke

如何编写将处理超过5000条记录的整张表的公式或宏。

3 个答案:

答案 0 :(得分:1)

公式,在空列中放置:

=TRIM(MID(A1,Find(",",A1)+1,LEN(A1)))

A1是您列表中的第一个单元格。然后复制整个列表。

如果你想要vba,这几乎可以立即实现:

Sub firstName()
    Dim rng As Range
    With ActiveWorkbook.ActiveSheet
        'Change the Second Criterion in Each .Cells() to the column number of your data.
        Set rng = .Range(.Cells(1, 1), Cells(.Rows.Count, 1).End(xlUp))
        'Change the Offset value to the number of columns to offset the answer.
        rng.Offset(, 1).Value = .Evaluate("Index(TRIM(MID(" & rng.Address & ",Find("",""," & rng.Address & ")+1,LEN(" & rng.Address & "))),)")
    End With
End Sub

它假设您的数据在A列中,它将把它放在B列

答案 1 :(得分:0)

使用REPLACE function

作为右侧使用列中的公式
=REPLACE(A1, IFERROR(FIND(",", A1), LEN(A1)), LEN(A1), TEXT(,))

使用Range.Replace method作为VBA子程序,

Sub firstOnly_bySel()
    With Selection
        .Replace what:=",*", replacement:=vbNullString, lookat:=xlPart
        'selection.replace(
    End With
End Sub

选择一个或多个单元格并从“宏”对话框中运行子程序([alt] + [F8])

答案 2 :(得分:0)

只需简单的查找和替换即可。找到“,*”并将“替换”留空。