使用公式从同一单元格中提取多个字符串

时间:2019-06-25 12:14:23

标签: excel formula

我有一个Excel单元格的内容,例如:

Bananas_05/05/2019
Oranges_07/06/2019
Oranges_08/05/2019
Apples_10/12/2018
Oranges_08/03/2019

我想要仅使用公式(不使用VBA)提取“ Oranges_”旁边的所有日期,所以我希望输出为:

07/06/2019
08/05/2019
08/03/2019

我当前的公式只能提取其中1个,而不是全部

我不知道该怎么做

这就是我所拥有的: DATEVALUE(MID(D20,FIND(“ Oranges _”,D20)+ LEN(“ Oranges _”)+ 1,10))

1 个答案:

答案 0 :(得分:0)

仅当有人拥有由OFFICE 365 Excel引入的TEXTJOIN()时,这才可能。

如果具有TEXTJOIN(),则此数组形式将迭代每一行并进行测试,然后将日期连接起来。

=TEXTJOIN(CHAR(10),TRUE,IF(ISNUMBER(SEARCH("Oranges_",TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",999)),ROW($XFD$1:INDEX($XFD:$XFD,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))*999+1,999)))),SUBSTITUTE(TRIM(MID(SUBSTITUTE(A1,CHAR(10),REPT(" ",999)),ROW($XFD$1:INDEX($XFD:$XFD,LEN(A1)-LEN(SUBSTITUTE(A1,CHAR(10),""))+1))*999+1,999)),"Oranges_",""),""))

作为数组公式,退出编辑模式时必须使用Ctrl-Shift-Enter而不是Enter进行确认。

enter image description here