Excel:=开关()不使用通配符*

Excel:=开关()不使用通配符*,excel,excel-formula,switch-statement,Excel,Excel Formula,Switch Statement,我有一个专栏,包括年龄、性别、体重。(我从外部来源获取电子表格,无法以不同格式获取数据) 9-10男性60.1-67磅 我在一个新的专栏中做了一个公式,用switch和通配符来提取性别 =开关(A2、“*外螺纹*”、“外螺纹”、“内螺纹*”、“内螺纹”、“错误”) 但是,使用通配符不起作用,它会破坏公式。这是对switch语句的限制还是我的语法错误 我还需要找出年龄和体重,一个我会寻找的年龄的例子:8-9、10-11、12-14等等。我想这个带有通配符的公式会起作用,但我想不会。是否有其他方法可

我有一个专栏,包括年龄、性别、体重。(我从外部来源获取电子表格,无法以不同格式获取数据)

9-10男性60.1-67磅

我在一个新的专栏中做了一个公式,用switch和通配符来提取性别

=开关(A2、“*外螺纹*”、“外螺纹”、“内螺纹*”、“内螺纹”、“错误”)

但是,使用通配符不起作用,它会破坏公式。这是对switch语句的限制还是我的语法错误


我还需要找出年龄和体重,一个我会寻找的年龄的例子:8-9、10-11、12-14等等。我想这个带有通配符的公式会起作用,但我想不会。是否有其他方法可以执行此操作?

您可以使用“查找”或“搜索”来执行此操作。首先检查女性,因为在不区分大小写的搜索中会在女性中找到男性

=if(isnumber(search("female", a2)), "Female", if(isnumber(search("male", a2)), "Male", "Error"))

给定格式,示例中的一个变量是连字符前/后的空格,请尝试以下操作:(如果您的格式与所显示的格式有很大不同,则可能不起作用):

公式中嵌套的
替换
部分将
“-”
“-”
“-”
压缩为一个连字符,因此我们可以使用
空格
作为三段之间的分隔符


我认为这适用于两个值,对吗?但是,如果我要找的不止2个呢?就像上面的年龄示例一样,我会尝试退出年龄,但可能是:7岁以下、8-9岁、10-11岁、12-14岁、15-17岁、18-33岁、33岁以上。我认为这对那些人不起作用,对吗?IFS可能是合适的,或者选择匹配。我刚刚看到了这个答案。我稍后会试试,谢谢。
Age:    =INDEX(TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM($A2)," -","-"),"- ","-")," ",REPT(" ",99)),{1,99,198},99)),1)
Sex:    =INDEX(TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM($A2)," -","-"),"- ","-")," ",REPT(" ",99)),{1,99,198},99)),2)
Wt:     =INDEX(TRIM(MID(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM($A2)," -","-"),"- ","-")," ",REPT(" ",99)),{1,99,198},99)),3)