В моей таблице есть текстовый столбец Remarks
, который обычно содержит большой объем текста.
Вот пример:
24 марта 2017 г., 11:14:41 - EMD ДЛЯ СТАТУСА NFU 30 марта 2017 г.
30 марта 2017 г. 10:58:03 AM - CLD НА РЕЦЕПЦИОНАТ GM НЕДОСТУПЕН NFU, 13 апреля 2017 г.
13 апреля 2017 г. 11:10:15 AM - CLD НА РЕЦЕПЦИОНЕР ПРЕДОСТАВЛЯЕТ ИНФОРМАЦИЮ NFU4 / 27
27 апреля 2017 г. 9:02:20 - MLD INV С ШЕСТИГРАННИКОМ 90 ДНЕЙ
27 апреля 2017 г. 9:15:03 - ЗА ОТВЕТ ПОЗВОНИТ КЛИЕНТУ ДЛЯ ОПЛАТЫ < br> 27 апреля 2017 г. 11:03:46 - NFU 5/5 PER REP CUSTOMER CONFUSION
5/5/2017 8:55:17 AM - NFU 5 / 9/2017 CRP PER REP CHECK БЫЛ MLD 02.05.17
Весь этот текст будет втиснут в одно поле, и мне нужно извлечь последнюю дату NFU из поля для использования в расчетах и фильтрации.
В приведенном выше примере я хотел бы извлечь дату 09.05.2017 из последней строки.
Но, как видите, дата может быть в любом формате в любом месте поля. .
Я предполагаю, что Excel может преобразовать текст в значение даты в любом из вышеперечисленных форматов (если нет, я займусь этим другим способом - обучением сотрудников и т. Д.)
Главное, что мне нужно выяснить, как делать с помощью PowerQuery:
- Найдите последний экземпляр "NFU" в этом поле.
- Извлеките весь текст непосредственно после последнего экземпляра «NFU», включая пробел между «NFU» и датой, если таковая имеется.
На этом этапе результат должен быть:" 5/9/2017 CRP PER REP CHECK WAS MLD 5/2/17"
- Удалите белые пятна в начале строки.
На этом этапе результат должен быть следующим:"5/9/2017 CRP PER REP CHECK WAS MLD 5/2/17"
- Найдите первый символ, отличный от
0-9
,/
или-
(или конца строки, в зависимости от того, что наступит раньше) - При необходимости обрежьте строку до первого символа, отличного от даты.
На этом этапе результат должен быть следующим:"5/9/2017"
- Наконец, попытайтесь отформатировать полученный текст в
Date
тип / формат и вернуть как результат для настраиваемого столбца PowerQuery.
Глядя на доступные строковые функции PowerQuery, я не уверен, возможно ли это вообще.