在Excel中使用MID从数据中提取特定字符串

时间:2014-10-31 10:32:41

标签: excel

我在编写MID公式以提取截止日期(总长度相同)和行数(可变长度)时遇到了问题。请问有人帮帮我吗?使用嵌套公式我有点迷失。

批量100的项目120为A2B_1414696641872。截止日期: 2014-11-03 。字数:1976。行数: 345

A列B列中的字符串应包含2014-11-03,C列应包含345

项目在12的批次10中为A2B_141469664。截止日期: 2014-11-03 。字数:19。行数: 3

A列B列中的字符串应包含2014-11-03,C列应包含19

-

我目前有以下内容用于提取截止日期(可行):

=MID(LEFT(B1,FIND(". Word count",B1)-1),FIND("Due date:",B1)+10,LEN(B1))

3 个答案:

答案 0 :(得分:0)

我认为你现在使用的公式稍微复杂一点。我建议以下日期:

=MID(B1,FIND("Due date:",B1)+10,10)

Due Date:的长度为9,所以由于我们FIND它,你需要加10(另外1个以获得日期的第一个字符)。

然后日期总是10个字符:yyyy-mm-dd所以您可以使用10作为日期。

对于行计数,它类似,我建议使用Row count:来获取它:

=MID(A1,FIND("Row count:",A1)+11,1000)

我只是使用了一个非常大的长度值,因为行数在最后,并且取一个高于实际长度的值并不会在这里受到伤害。


编辑:错过了这段时间。为此,我建议先删除这些点:

=MID(SUBSTITUTE(A1,".",""),FIND("Row count:",SUBSTITUTE(A1,".",""))+11,10)

答案 1 :(得分:0)

单元格A1(包含待测字符串):

Project in Batch 100 of 120 for A2B_1414696641872. Due date: 2014-11-03. Word count: 1976. Row count: 345.

Cell B1:

=MID( A1,
      FIND("Due date: ",A1,1) + LEN("Due date: "),
      10
     ) 

Cell C1:

=MID( A1,    
      FIND("Row count: ",A1,1) + LEN("Row count: "),      
      LEN(A1) -   (FIND("Row count: ",A1,1) + LEN("Row count: ")   - 1  ) 
     )

如果有帮助,请告诉我。

答案 2 :(得分:0)

这是另一种方法。截止日期:

=MID(A1,SEARCH("????-??-??",A1,SEARCH("Due Date",A1)),10)

或者,字符串中只有一个日期

= MID(A1,SEARCH( “???? - ????”,A1),10)

对于行计数,如果它总是在最后:

=SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE(A1," ",REPT(" ",99)),99)),".","")