使用函数从字符串中提取特定文本

时间:2019-06-20 04:09:31

标签: excel vba excel-formula

我有没有特殊模式的这些字符串:

- ControlF Job Name: WEB_GG_WPP_PRD_C_C_ELASTICOWL Status: Ended Not Ok  Odate: 04/20/2019 Run Count: 2

- ControlF: WEB_WP_UPP_PRD_C_C_ELASTICOWL  Ended Not Ok  Odate: 4/21  RunCount: 2

-  ControlF: WEB_PP_BPP_PRD_C_D_ELASTICWEEKLY  Status: Ended not OK   Odate: 4/29   Run count: 1

- CONTROLF:   Job Name: WEB_PP_EDM_PRD_T_C_HP1_CTGGDALTA Status: Ended NOT OK Odate: 6/26/2017 RunCount: 2

- CONTROLF:   Job Name: WEB_EZ_APP_PRD_C_D_3RDPANTYUPAC Status: Ended NOT OK Odate: 6/16/2016 RunCount: 1

我需要使用Excel从其中提取这些WEB_*字符串(例如WEB_GG_WPP_PRD_C_C_ELASTICOWL)。我尝试使用“文本到列”,但是我需要的字符串被放置在整个工作表上。所以我的问题是:

  1. 如果使用“文本到列”,如何仅提取WEB_*字符串?
  2. 如果我仅使用公式会怎么样?
  3. 使用VBA的代码是什么?

谢谢!

编辑:附加screenshot以获取更多示例

1 个答案:

答案 0 :(得分:2)

这应该为您完成工作:

功能:=MID(D6,FIND("WEB",D6,1),FIND("Status",D6,1)-FIND("WEB",D6,1))

  • 已更新的功能以使用

  • MID(D6,FIND("WEB",D6,1),FIND(" ",D6,FIND("WEB",D6,1))-FIND("WEB",D6,1))

enter image description here


您可以在VBA的Range上运行相同的功能,以在循环中获得此结果。