从Excel单元格中搜索/复制特定内容

时间:2016-02-09 20:46:08

标签: excel excel-vba vba

我在单元格中有10% Current / 2% PIK Senior Secured Debt (Maturity- September 19, 2019),我想只提取日期,在本例中为September 19, 2019,并将其复制到另一个单元格中。

我可以搜索单元格中的几个月(JanuaryFebruary ...等)但有没有办法复制下一个〜8个字符来完成日期?

3 个答案:

答案 0 :(得分:2)

对于单元格 A1 中的数据,在另一个单元格中:

=MID(A1,FIND("- ",A1)+2,FIND(")",A1)-FIND("- ",A1)-2)

enter image description here

这假定在日期之前有一个破折号空间,在日期之后有一个关闭的parens。

修改#1:

我不确定我理解,但是制作一个适用于短划线空间破折号的公式:

=IF(ISNUMBER(FIND("- ",A1)),MID(A1,FIND("- ",A1)+2,FIND(")",A1)-FIND("- ",A1)-2),MID(A1,FIND("-",A1)+1,FIND(")",A1)-FIND("-",A1)-1))

enter image description here

但这个公式正在迅速失去它的美丽。

答案 1 :(得分:1)

如果文本在单元格E2中,只要" - "总是在成熟之后并且在日期之后关闭括号。

=MID(E2,FIND("-",E2)+2,FIND(")",E2,FIND("-",E2)+2)-1-FIND("-",E2)-1)

答案 2 :(得分:1)

如果日期总是在结尾并且格式相同,则会提取最后三个"单词"

=LEFT(MID(A1,SEARCH("}}}",SUBSTITUTE(A1," ","}}}",LEN(A1)-LEN(SUBSTITUTE(AP7," ",""))-2)),999),LEN(MID(A1,SEARCH("}}}",SUBSTITUTE(A1," ","}}}",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))-2)),999))-1)