У меня есть столбец ячеек, заполненный большим количеством текста. Мне нужно только одно слово из каждой клетки. Если вы посмотрите внимательно, вы увидите, что последняя часть каждой ячейки говорит либо о высоком, среднем или низком.

Я хочу создать столбец рядом с этим, который извлекает это слово (High, Medium или Low) из текстовой строки. Моя первоначальная мысль состояла в том, чтобы извлечь на основе позиции, но слова находятся в разных позициях.

3 ответа3

0

Это вернет правильное значение:

=INDEX({"High","Medium","Low"},AGGREGATE(15,6,ROW($1:$3)/(ISNUMBER(SEARCH("*" & {"High";"Medium";"Low"} & "*",A1))),1))

Он перебирает возможные слова и возвращает то, которое не возвращает ошибку в виде числа, для индексации.

0

Я знаю функцию для извлечения части строки внутри двух уникальных символов. Например: -Medium- будет Medium .

Это формула:

=MID(A3,SEARCH("-",A3)+1,SEARCH("-",A3,SEARCH("-",A3)+1)-SEARCH("-",A3)-1)

Чтобы это работало, вам нужно будет конвертировать текст, как показано на фотографии ниже, чтобы добавить уникальный символ (в данном случае тире -). Вы можете сделать это с помощью поиска и замены CTRL+H следующим образом:

  1. Выберите столбец с текстом для извлечения.
  2. Нажмите сочетание CTRL+H
  3. Найти что: Low
  4. Заменить на: -Low-
  5. Нажмите на кнопку Replace All .
  6. Повторите с шага 3 до 5 для Medium и High .

Смотрите вывод ниже:

Вот

Надеюсь, это поможет.

0

Вот простой подход, который использует подстановочные знаки.

Формула в Б1:

=IF(COUNTIF(A1,"*Low*"),"Low",IF(COUNTIF(A1,"*Medium*"),"Medium",IF(COUNTIF(A1,"*High*"),"High","")))

Это просто несколько вложенных IF, чтобы проверить, содержится ли каждый член в ячейке. Я добавил дополнительный тест IF на случай, если может быть запись, которая не содержит ни одного из терминов (возвращает пробел).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .