我有一个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))
答案 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进行确认。