我有一栏包含年龄,性别,体重。 (我从外部来源获取电子表格,无法以其他格式获取数据)
9 - 10 Male 60.1 - 67lbs
我在新列中创建了一个公式,以切换和通配符提取性别。
=SWITCH(A2, "*Male*", "Male", "*Female*", "Female", "ERROR")
但是,使用通配符不起作用,这会破坏公式。这是对switch语句的限制还是我的语法错误?
我还需要提取年龄和体重,例如我要寻找的年龄示例:8-9、10-11、12-14等。我本以为使用通配符的公式会起作用,但我想不是。我应该采取其他方法吗?
答案 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
用作三段之间的分隔符。
答案 1 :(得分:0)
您可以使用查找或搜索。首先检查 Female ,因为在不区分大小写的搜索中会在 Female 中找到 Male 。
=if(isnumber(search("female", a2)), "Female", if(isnumber(search("male", a2)), "Male", "Error"))