永发信息网

excel分列,如果用函数拆分拼音

答案:3  悬赏:30  手机版
解决时间 2021-01-11 03:23
excel分列,如果用函数拆分拼音
最佳答案
你确定你的表二中罗列了所有的声母+韵母的话,用下边的公式
D2公式=left(c2,max(iferror(find(表二!a$2:a$100,c2,2),))-1)

E2公式=substitute(c2,d2,"")
手写的,如果不对可以追问,还有就是你的表1如果有“niua”(牛啊)类似这样的,会出错。要想规避所有错误,公式太长,就不写了。需要的话再答吧。
再问下,最后那句“我清华校友都解答不出来”是啥意思?我们这也有好多“清华”呢,什么“清华附小”,“清华教育”……追问还是不行啊,帮忙看看那里错了。

追答数组公式,三键结束,Ctrl+shift+enter追问如:foushe
当she和he在一起判断的时候,就会优先选he,能不能优先选择she不选择he,调那个参数才行。=LEFt(A2,MAX(IFERROR(FIND(表一!A$2:A$399,A2,1),))-1)
全部回答
只有将声母表列出来。因为声母一般只有一个字母,所以每个取第一个字母,如果在声母区域里,就可以选出,其他都为韵母。追问一个是可以,但两个字组在一起的这个办法就不行追答两个的只有zh、ch、sh三个,所以可以当遇到z、c、s可以多判断一位。
因为韵母一般也就两位,所以判断第三位如果是不是声母区域且第四位不是“g”,那地四位肯定是声母。

给你段代码,你放到一个模块里,再调用函数就好了。
Function 拆分拼音(str As String) As String


    str = StrConv(str, 10)
    
    Dim shuchustr As String, str1 As String, str2 As String
    
    str1 = str
    Do While str1 <> ""
    
        If 找声母(str1) = "" And 找韵母(str1) = "" Then
            shuchustr = shuchustr & Left(str1, 1) & ","
            str1 = Right(str1, Len(str1) - 1)
            Exit Function
        End If
    
        str2 = 找声母(str1)
        shuchustr = shuchustr & str2
        str1 = Right(str1, Len(str1) - Len(str2))
        str2 = 找韵母(str1)
        shuchustr = shuchustr & str2 & ","
        str1 = Right(str1, Len(str1) - Len(str2))
    Loop




    拆分拼音 = Left(shuchustr, Len(shuchustr) - 1)


End Function




Public Function 找声母(str As Variant) As String     '从开头找声母


    If Left(str, 2) Like "[zcs][h]" Then
        找声母 = Left(str, 2)
        Exit Function
    End If
    
    If Left(str, 1) Like "[bpmfdtnlgkhjqxzcsywr]" Then
        找声母 = Left(str, 1)
        Exit Function
    End If
    
    找声母 = ""


End Function


Function 找韵母(str As String) As String            '从开头找韵母


    If Left(str, 3) Like "[aeio]ng" Then
        找韵母 = Left(str, 3)
        Exit Function
    End If
    
    
    If InStr(1, "ai 、ei、 ui 、ao、 ou、 iu 、ie 、ve、 er、 an 、en 、in、 un 、vn", Left(str, 2)) Then
        找韵母 = Left(str, 2)
        Exit Function
    End If
    
    If Left(str, 1) Like "[iu]" And 找韵母(Right(str, Len(str) - 1)) <> "" Then
        找韵母 = Left(str, 1) & 找韵母(Right(str, Len(str) - 1))
        Exit Function
    End If
    


    If Left(str, 1) Like "[aoeiuv]" Then
        找韵母 = Left(str, 1)
        Exit Function
    End If
    
    找韵母 = ""


End Function
追问兄弟,你回复的非常好,我不会用,能不能讲得详细一点。如何使用。追答
在EXECL中 ,按ALT+F11,插入---模块 复制下列代码 :

另外这一段替换一下:

Function 找韵母(str As String) As String            '从开头找韵母


    If Len(str) = 1 Then GoTo LL




    If Left(str, 3) Like "[aeio]ng" Then
        找韵母 = Left(str, 3)
        Exit Function
    End If
    


    If InStr(1, "ai,ei,ui,ao,ou,iu,ie,ve,er,an,en,in,un,vn", Left(str, 2)) Then
        找韵母 = Left(str, 2)
        Exit Function
    End If


LL:
    If Left(str, 1) Like "[iu]" And 找韵母(Right(str, Len(str) - 1)) <> "" Then
        找韵母 = Left(str, 1) & 找韵母(Right(str, Len(str) - 1))
        Exit Function
    End If
    


    If Left(str, 1) Like "[aoeiuv]" Then
        找韵母 = Left(str, 1)
        Exit Function
    End If
    
    找韵母 = ""


End Function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
镇江人为什么大多都不愿意娶外地老婆
闭合电路的________在磁场里做________运动时
如何进入chinanet电信猫路由。
脾气不太好什么意思
数字电路中低电平有效和非运算的区别
银杏树叶多少钱一斤
求很软14Ct或18Ct十字绣黑布.淘宝或京东
这里应该有我
一块地面长3.16米,宽3米2,怎么求有多少个平
下颌淋巴结在哪里
要解决漫画《“食”面埋伏》中存在的问题,就
中国需要涂鸦艺术吗
请问这种水温表怎么看是多少度 汽车行驶时指
308准分子激光价格
变和回是不是上下结构字
推荐资讯
逸彩9600GT-GD3 CF黄金版512 D14有电源接口吗
苹果螺能清鱼缸吗
选择废气处理洗涤塔应考虑哪些因素?如何选择
如何申请工行多币信用卡
S7用安卓6还是安卓7系统好
braun7系中文说明书
56年3月28日生辰八字算命寿命
在生产图纸上通常用300+0.2,-0.5 来表示轴表
顿时是什么意思,"顿时"的汉语解释
丰田皇冠和凯美瑞哪个好、?
一字开头的成语之最
临沂佳怡物流 几路车到?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?