如何拆分单元格并创建新的串联字段?

时间:2019-07-16 15:29:48

标签: excel excel-formula

所以我连续有Fruit-Apple-25Vegetable-Tomato-22之类的字段。是否可以创建一个新字段,将其命名为Fr_Grp_AppVg_Grp_Tm。我现在使用的只是选择它是苹果还是番茄,而不添加其他前缀。我该怎么办。

if(not(iserror(find("Apple",D3))),"Apple",if(not(iserror(find("Tomato",D3))),"Tomato")

因此,如果其水果为前缀,则应为Fr;如果其蔬菜为前缀,则应为Vg

1 个答案:

答案 0 :(得分:3)

您没有要求,但是我认为在UDF中执行此操作将使您对如何定义这些组有更多的控制权,并可以进行扩展而不会陷入真正可怕的字符串处理公式中。

要执行此操作,请在VBE中创建一个新模块并将其粘贴到:

Public Function FoodGroup(foodString As String) As String
    'Variables
    Dim Group As String
    Dim Food As String

    'Get the incoming group and food name from the string
    Group = Split(foodString, "-")(0)
    Food = Split(foodString, "-")(1)

    'Handle group names
    Select Case Group
        Case "Fruit"
            Group = "Frt"
        Case "Vegetable"
            Group = "Veg"
    End Select

    'Handle Fruit Names
    Select Case Food
        Case "Tomato"
            Food = "Tm"
        Case "Apple"
            Food = "App"
    End Select

    'Return
    FoodGroup = Group & "-Grp-" & Food

End Function

保存工作簿,然后可以在工作簿中使用此新的UDF:

enter image description here