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

问题描述 投票:0回答:3

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

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

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

OutPut示例应该是:

Jeremy 
Allison 
David 
Joanna 
Brooke

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

excel
3个回答
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])


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列中


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.