Мне нужна формула Excel (или макрос VBA), которая позволит мне извлечь значение из строки. Строка представляет собой последовательность слов, разделенных пробелами, в одной ячейке. Я хочу слово (представляющее размер велосипеда), которое либо
- число (предположительно, целое число, но оно не указано) от 47 до 60 (или некоторый другой диапазон, возможно, задается динамически), или
- одна из строк "sm", "med" или "lg".
Я ожидаю, что в строке будет ровно одно уточняющее слово, поэтому любой разумный ответ на
- нет подходящих слов или
- несколько уточняющих слов
будет приемлемым Размер может быть в разных позициях в строке. Примеры:
Cervelo P2 105 5800 56 '15 the number 56 is the desired result Cervelo P2 105 54 6000 '15 the number 54 is the desired result Cervelo P3 105 5800 60 '15 the number 60 is the desired result Cervelo P2 105 5800 sm '15 the string sm is the desired result
Меня интересуют только целые слова, поэтому 58 (подстрока "5800") не подходит.
Прямо сейчас я снимаю '15
и затем извлекаю последние две цифры. Но этот подход работает, только если размер велосипеда является вторым по последнему значению. Однако, как показано выше, в некоторых случаях размер находится в других местах строки.
Как я могу сделать это с помощью формулы или макроса VBA в Excel?