gpt4 book ai didi

excel - 将全名拆分为姓氏,如果姓氏有多个部分(即van,de),则为firstname

转载 作者:行者123 更新时间:2023-12-04 22:27:05 24 4
gpt4 key购买 nike

我有一个包含多个名字的列表,但是,有些名字有多个姓氏:例如。 “Eddie van Halen。我无法让我的代码输出:“van Halen,Eddie”,而是输出:“Van,Eddie”

有没有办法检查 names() 是否有超过 2 个部分,如果有,包括 names(1) & names(2) 作为姓氏,而不是检查“van”。也就是说,如果姓氏包含其他部分,例如“de”。

另外,如果全名没有多个部分,例如:“志愿者”,则代码应跳过此名称。

这是我当前的代码:

Sub Filter()

Dim r As Range
Dim c As Range
Dim names() As String
Dim lastrow As Long

lastrow = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row

With ActiveSheet

Set r = .Range("K3:K" & lastrow)

For Each c In r
names = Split(c.Value, " ")

If IsEmpty(c.Value) Then Exit Sub

ElseIf InStr(c.Value, "van") > 0 Then

c.Value = names(1) & names(2) & ", " & names(0)

Else
c.Value = names(1) & ", " & names(0)

End If
Next c

End With

End Sub

最佳答案

Split 接受第三个参数“Limit”,它可用于在结果包含那么多条目时停止拆分。

    names = Split(c.Value, " ", 2)

在这种情况下 names总是最多有 2 个元素。

关于excel - 将全名拆分为姓氏,如果姓氏有多个部分(即van,de),则为firstname,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56857103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com