在Excel中提取多行单细胞特定词的不规则日期

时间:2018-03-28 13:49:29

标签: regex excel vba excel-vba

这是我在这里发表的第一篇文章,请原谅任何错误。

我有一列细胞。每个单元格包含可变数量的带有单元格的行。大多数行包含日期。日期的格式略有不同。有时它的格式为MM / DD / YYYY,有时它将是MM / DD / YY等。我的目标是提取与每行中特定单词相关的日期。此外,每个单元格都在一行中具有标识号。因此,我需要输出沿同一行。

例:
Desired Output

我已经尝试了我能找到的每个提取日期公式,但我遇到了三个问题:

  1. 如何从单元格中提取多个日期,
  2. 如何弥补某些行具有不同格式的日期和
  3. 的事实
  4. 如何提取仅与日期在同一行上的某些字词相关联的日期。
  5. 看来我最好的选择是使用正则表达式。但是,我刚刚开始玩VBA,我发现的每个功能似乎与我的问题有关,我无法适应我的具体问题。我最初使用这篇文章作为构建我的函数的指南,但我无法让它工作:Extracting Multiple Dates from a single cell

    最初,我尝试通过将文字添加到列和此公式来打破这些行:

    =IF(SEARCH("Red",D2),DATE(MID(D2,SEARCH("??/??/20??",D2)+6,4),MID(D2,SEARCH("??/??/20??",D2),2),MID(D2,SEARCH("??/??/20??",D2)+3,2)), "No Red Date")
    

    但是,由于间距不规则问题,文本到列无法正常工作。如果单元格中有多个蓝色日期,那么蓝色1和蓝色2就可以补偿

1 个答案:

答案 0 :(得分:0)

不是回答:它并不真正需要代码,您可以快速使用MID FIND SUBSTITUTE,我使用了以下

=IF(FIND(C$1,$B2,1)-11<11,MID($B2,1,10),MID($B2,FIND(C$1,$B2,1)-11,10))

给出了这个,enter image description here