Извлечение текста в excel

У меня есть текст, который я получаю ежедневно, и который мне нужно отделить. У меня есть сотни строк, похожих на отрывок ниже:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40

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

FEB50-40
APR
COMPANY A
100
0.40

Проблема, с которой я борюсь, - это единообразие. Например, в одной строке может быть FEB50-FEB40, в другой FEB5-FEB40 или FEB50-FEB4. Другой пример, который вызывает у меня затруднения, заключается в том, что в некоторых строках может быть 'COMPANY A', а в других 'COMPANYA' (одно слово вместо двух).

Любые идеи? Я пробовал комбинации ниже, но я не могу получить однородные результаты.

=TRIM(MID(SUBSTITUTE($D7," ",REPT(" ",LEN($D7))), (5)*LEN($D7)+1,LEN($D7))) 
=MID($D7,20,21-10)
=TRIM(RIGHT(SUBSTITUTE($D6,"$",REPT("$",2)),4))

Иногда я получаю

FEB40-50(' OR 'FEB40-FEB5' 

когда это должно быть

'FEB40-FEB50'`

Спасибо, кто сможет помочь.


person Anthony    schedule 16.02.2021    source источник
comment
Ваш вопрос такой же неясный, как и ваш предыдущий. Почему выходной размер 100 вместо 1000?   -  person BigBen    schedule 17.02.2021
comment
Таким образом, если дата всегда находится между первым двоеточием и первой открывающей скобкой, то этот фрагмент вернет дату: ДЛСТР(A1)]. Создайте похожие или другие фрагменты. Скорректируйте пробелы.   -  person Isolated    schedule 17.02.2021
comment
@BigBen Размер не имеет значения. 100 или 1000 - это текст, а не число, меня просто интересует выделение 100 в отдельной ячейке.   -  person Anthony    schedule 17.02.2021


Ответы (1)


В этом сценарии вы можете выйти за пределы формул, но с Power Query вы все еще можете работать.

Насколько я понимаю, вы хотите применить следующую логику для извлечения текста из этой строки:

COMMODITY PRICE DIFFERENTIAL: FEB50-FEB40 (APR): COMPANY A OFFERS 1000KB AT $0.40
  • текст после первого : и перед первым (
  • текст в скобках
  • текст после слова OFFERS и перед AT
  • текст после 'AT'

Их можно легко преобразовать в несколько сценариев разделения внутри Power Query.

  • разделить настраиваемым разделителем : - это двоеточие и пробел - для каждого вхождения
  • удалить первый столбец
  • Разделите новый первый столбец на ( - это пробел и квадратная скобка - для крайнего левого
  • Замените ) ничем во втором столбце
  • Разделить третий столбец разделителем OFFERS
  • разделить новый четвертый столбец разделителем AT

На снимке экрана показаны входные данные и результат в редакторе Power Query после переименования столбцов и перед загрузкой запроса на лист.

После того, как вы загрузили запрос, вы можете добавлять/удалять данные во входную таблицу и просто обновлять запрос, чтобы получить результаты. Никаких формул, просто щелчок по командам на ленте.

введите здесь описание изображения

Вы можете пойти еще дальше, удалив КБ из столбца, преобразовав его в число, разделив на 100. Логика вашей бизнес-обработки будет управлять тем, что вы хотите сделать. Просто делайте это шаг за шагом.

person teylyn    schedule 16.02.2021
comment
Это сработало отлично! Благодарю вас! - person Anthony; 17.02.2021