Excel:= SWITCH()无法使用通配符*

时间:2018-10-13 14:35:40

标签: excel excel-formula switch-statement

我有一栏包含年龄,性别,体重。 (我从外部来源获取电子表格,无法以其他格式获取数据)

9 - 10 Male 60.1 - 67lbs

我在新列中创建了一个公式,以切换和通配符提取性别。

=SWITCH(A2, "*Male*", "Male", "*Female*", "Female", "ERROR")

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

我还需要提取年龄和体重,例如我要寻找的年龄示例:8-9、10-11、12-14等。我本以为使用通配符的公式会起作用,但我想不是。我应该采取其他方法吗?

2 个答案:

答案 0 :(得分:1)

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

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)

公式的嵌套SUBSTITUTE部分会将" - ""- "" -"压缩为单个连字符,因此我们可以将space用作三段之间的分隔符。

enter image description here

答案 1 :(得分:0)

您可以使用查找或搜索。首先检查 Female ,因为在不区分大小写的搜索中会在 Female 中找到 Male

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