Excel 从单元格中提取正确数量的字符

Excel 从单元格中提取正确数量的字符,excel,find,vba,Excel,Find,Vba,我想从Excel中的单元格中提取正确数量的字符 在单元格中可以找到以下可能性: AAI CA 05/19/18 C30 AAI CA 05/19/18 C32 AAIO CA 05/19/18 C35 AAI CA 05/19/18 C300 AAIO CA 05/19/18 C300 我想检索右边的日期和C+x数字(在本例中是2和3个数字) 对于右边的x数字,我有以下公式 =MID(A1,FIND(" C",A1),5) 但是,如何确保在公式中使用正确的“C”(第二个) 此外,我正在努力

我想从Excel中的单元格中提取正确数量的字符

在单元格中可以找到以下可能性:

  • AAI CA 05/19/18 C30
  • AAI CA 05/19/18 C32
  • AAIO CA 05/19/18 C35
  • AAI CA 05/19/18 C300
  • AAIO CA 05/19/18 C300
我想检索右边的日期和C+x数字(在本例中是2和3个数字)

对于右边的x数字,我有以下公式

=MID(A1,FIND(" C",A1),5)
但是,如何确保在公式中使用正确的“C”(第二个)


此外,我正在努力从单元格中检索数据。日期的长度始终为8个字符。

使用“查找”、“中间”和“修剪”

试试这个:-

=TRIM(MID(A1,FIND("C",A1,FIND("C",A1))+FIND("C",A1)-2,LEN(A1)))

假设你的字符串是A2,那么试试这个

=MID(A2,FIND("^",SUBSTITUTE(A2," ","^",2))+1,255)

使用列A中的数据,在B1中输入:

=MID(A1,FIND("CA ",A1)+3,8)
=MID(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),4*999-998,999)),2,9999)
然后抄下来。在C1中输入:

=MID(A1,FIND("CA ",A1)+3,8)
=MID(TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),4*999-998,999)),2,9999)
然后抄下来


这将以字符串形式获取日期,并在
RegEx
的最后一个C

经典版之后获取数字,很好的演示站点:您想要Excel公式还是VBA函数?对于VBA,我建议使用split命令编辑公式,以便在我之前错过的结果中包含日期