【问题标题】:extract names in excel在excel中提取姓名
【发布时间】:2020-01-15 16:00:42
【问题描述】:

在我的 excel 文件列 G 中,我有姓氏 + 名字 + 中间名的名字。 例如 Tasha,William P 是样本名称,Tasha 是姓氏,William 是名字,P 是中间名。我能够通过=LEFT(G2, FIND(",", G2)-1) 提取姓氏,但不知道提取中间名和名字的好方法是什么。如何用excel公式提取名字和中间名?

【问题讨论】:

    标签: excel excel-formula extract


    【解决方案1】:
    =RIGHT(G2,1)
    

    中间名。

    =LEFT(G2,(FIND(",",G2,1)-1))
    

    名字。

    =TRIM(MID(SUBSTITUTE(G2, " ", REPT(" ", 99)),2 * 99 - 98,99))
    

    姓氏。

    【讨论】:

      【解决方案2】:

      你可以使用这个公式:

      =TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,",","")," ",REPT(" ",999)),(COLUMN(A:A)-1)*999+1,999))
      

      将其放入 B1 并复制超过 3 列并沿数据长度向下复制。


      如果你想把它们按顺序排列,那么使用这个:

      =TRIM(MID(SUBSTITUTE(SUBSTITUTE($A1,",","")," ",REPT(" ",999)),(CHOOSE(COLUMN(A:A),1,2,0))*999+1,999))
      

      【讨论】:

        【解决方案3】:

        方法一使用LEFT+RIGHT+MID+FIND函数

        名字:=MID(A2,FIND(",",A2)+2,FIND(" ",A2,FIND(" ",A2)+1)-FIND(",",A2)-2)

        中间名:=RIGHT(A2,LEN(A2)-FIND(" ",A2,FIND(" ",A2)+1))

        姓氏:=LEFT(A2,FIND(",",A2)-1) 和你一样

        First Name 的查找逻辑是查找,(space) 和第二个(space) 的位置并返回其间的字符。 Middle Name 的逻辑是找到第二个(space) 并返回右边的任何内容。

        方法二使用FILTERXML+SUBSTITUTE函数

        名字:=FILTERXML("<data><a>"&SUBSTITUTE(SUBSTITUTE(A7,",","")," ","</a><a>")&"</a></data>","/data/a[2]")

        中间名:=FILTERXML("<data><a>"&SUBSTITUTE(SUBSTITUTE(A7,",","")," ","</a><a>")&"</a></data>","/data/a[3]")

        姓氏:=FILTERXML("<data><a>"&SUBSTITUTE(SUBSTITUTE(A7,",","")," ","</a><a>")&"</a></data>","/data/a[1]")

        逻辑是使用 SUBSTITUTE 将全名转换为如下内容:

        <data><a>姓氏</a><a>名字</a><a>中间名</a></data>

        然后使用 FILTERXML 根据其在 XML 脚本中的顺序 1, 2 or 3 返回所需的名称。

        关于这个公式背后的逻辑,你可以阅读这篇文章:Extract Words with FILTERXML

        【讨论】:

          【解决方案4】:

          当姓氏是姓氏并且每个名字用空格分隔时

          然后使用这个 Excel 公式:

          =RIGHT(SUBSTITUTE(F14," ","|",LEN(F14)-LEN(SUBSTITUTE(F14," ",""))),LEN(SUBSTITUTE(F14," ","|",LEN(F14)-LEN(SUBSTITUTE(F14," ",""))))-SEARCH("|",SUBSTITUTE(F14," ","|",LEN(F14)-LEN(SUBSTITUTE(F14," ","")))))
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-10-20
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多