从字符串中删除或提取日期-在范围列中使用通配符
使用MS Excel数组公式,我想要一个公式,该公式将允许我在位于单元格A中的文本字符串中进行搜索,并且仅提取与列范围$ D $ 2中的唯一通配符模式匹配的匹配子字符串文本: $ D $ 10。
或任何可以帮助我从字符串中提取匹配日期或使用列范围使用时从字符串中删除匹配日期的公式。
A栏(文本)
A2: Sally was employed from January 2016 - August 2018 and now works at home
A3: April 2013 through January 2014 was a good year
A4: Here are dates they worked for us 01/2011 til 09/2013
C列(输出结果)
C2: Sally was employed from and now works at home
C3: was good
C4: Here's when they worked
D列(查找范围)
D2: * 20?? through * 20??
D3: ??/20?? til ??/20??
D4: * ???? - * ????
D5: * 2017 - Present
D6: * 20?? - * 20??
D7: * 20?? * 20??
答案 0 :(得分:0)
我为您提供了部分解决方案,我也想知道是否可以在不使用RegEx或自定义函数的情况下完全回答您的问题。
使用通配符查找部分匹配项,它们在列表中的相对位置以及它们的开始位置实在是微不足道的,仅在此网站上已有数十次了。
我无法解决的一个问题是删除带有通配符的匹配文本,因为显然它的长度可能不同。如果通配符仅替换单个字符(?),则非常简单,并且根据下面的公式,您自己应该没有问题。不幸的是,当使用*通配符时,我无所适从。
我不知道解决方案,很想学习。
找到字符串:
=INDEX(list,MAX(IF(ISERROR(SEARCH(list,$A2)),-1,1)*(ROW(list)-ROW($A$7)+1)))
找到行:
=MAX(IF(ISERROR(SEARCH(list,A2)),-1,1)*ROW(list))
找到位置:
=AGGREGATE(14, 6, SEARCH(list,A2), 1)