在Excel里面怎么自动提取字段的前三个字的拼音首字母?

2025-01-19 07:15:26
推荐回答(3个)
回答1:

b2输入

=LOOKUP(CODE(B2),45217+{0,36,544,1101,1609,1793,2080,2560,2902,3845,4107,4679,5154,5397,5405,5689,6170,6229,7001,7481,7763,8472,9264},{"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"})&LOOKUP(CODE(MID(B2,2,1)),45217+{0,36,544,1101,1609,1793,2080,2560,2902,3845,4107,4679,5154,5397,5405,5689,6170,6229,7001,7481,7763,8472,9264},{"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"})&LOOKUP(CODE(MID(B2,3,1)),45217+{0,36,544,1101,1609,1793,2080,2560,2902,3845,4107,4679,5154,5397,5405,5689,6170,6229,7001,7481,7763,8472,9264},{"A","B","C","D","E","F","G","H","J","K","L","M","N","O","P","Q","R","S","T","W","X","Y","Z"})

向下托

回答2:

提取首字母吗?

这个自定义函数可以

Function PY(ByVal rng As Range)

    Dim i%, k%, str$


    str = Replace(Replace(rng, " ", ""), " ", "")

    For i = 1 To Len(str)

        If Mid(str, i, 1) < "吖" Then

            PY = PY & Mid(str, i, 1)

        Else

            k = 1

            Do Until Mid("八擦哒妸发旮铪讥讥咔垃妈拿哦妑七然仨他哇哇哇夕丫匝咗", k, 1) > Mid(str, i, 1)

                k = k + 1

            Loop

            PY = PY & Chr(64 + k)

        End If

    Next

End Function

单元格中输入=py(要提取的单元格地址)就可以,参见附件,注意要启用宏


回答3:

刚帮你找了一下~ 在A1输入 =left(hztopy(B1),3) 下拉

http://zhidao.baidu.com/question/104836508.html