Excel: = SWITCH () не работает с подстановочным знаком * - PullRequest
0 голосов
/ 13 октября 2018

У меня есть один столбец, который содержит возраст, пол, вес.(Я получаю электронную таблицу из внешнего источника, и нет никакого способа получить данные в другом формате)

9 - 10 Male 60.1 - 67lbs

Я создал формулу в новом столбце, чтобы вытащить еепол с переключателем и подстановочный знак.

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

Однако наличие подстановочного знака там не работает, оно нарушает формулу.Это ограничение в выражении switch или мой синтаксис неправильный?

Мне нужно также указать возраст и вес, например, возраст, который я искал бы: 8-9, 10-11, 12-14 и т. Д. Я думал, что эта формула с символом подстановки будет работать, но я думаю, что нет.Есть ли другой способ, которым я должен делать это?

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Учитывая формат с переменной в ваших примерах, являющейся пробелами до / после дефиса, попробуйте это: (Это может не сработать, если ваши форматы сильно отличаются от того, что вы показали):

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

0 голосов
/ 13 октября 2018

Вы можете использовать Поиск или Поиск для этого.Проверьте Женский первым, поскольку Мужской будет найден в Женский в поиске без учета регистра.

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