我有一张csv表,其中包含Employee作为姓氏,名字的数据。 以下是一个例子。 (这些值在单个单元格中)
Flynn, Jeremy
Early, Allison
Epstein, David
Newman, Joanna
Biord, Brooke
我需要修剪数据,这样我只需要没有任何尾随空格或逗号的名字。
OutPut Sample应为:
Jeremy
Allison
David
Joanna
Brooke
如何编写将处理超过5000条记录的整张表的公式或宏。
答案 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(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)
只需简单的查找和替换即可。找到“,*”并将“替换”留空。