Excel - извлечь все даты из текста - PullRequest
0 голосов
/ 24 августа 2018

Допустим, у меня есть следующие случаи:

Today's Date is 08/20/2020 and tomorrow's date is 30/10/2018. Status = N/A
Yesterday's Date status is stuff/things but it  is 2020/08/31 and today is 8/20/18.

Что я хочу вернуть, это

08/20/2020, 30/10/2018
2020/08/31, 08/20/18

Любые предложения о том, как это сделать?

1 Ответ

0 голосов
/ 24 августа 2018

Используйте TEXTJOIN в формуле массива:

=SUBSTITUTE(TEXTJOIN(", ",TRUE,IF(ISNUMBER(SEARCH("*/*/*",TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),(ROW($1:$25)-1)*99+1,99)))),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),(ROW($1:$25)-1)*99+1,99)),"")),".","")

Поскольку формула массива должна быть подтверждена нажатием Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.

TEXTJOIN былВведение в Office 365 Excel

enter image description here


Если у вас нет Office 365, то выходные данные должны будут находиться в разных ячейках для каждой "даты"

Поместите это в B1, копируйте вверх и вниз:

=IFERROR(SUBSTITUTE(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),(AGGREGATE(15,6,ROW($1:$25)/(ISNUMBER(SEARCH("*/*/*",TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",99)),(ROW($1:$25)-1)*99+1,99))))),COLUMN(A:A))-1)*99+1,99)),".",""),"")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...