首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用公式识别复杂excel字段中的最大日期

使用公式识别复杂excel字段中的最大日期
EN

Stack Overflow用户
提问于 2016-05-17 12:29:46
回答 3查看 736关注 0票数 0

我有一个excel文件,其中有一个列作为项目分配。该列的示例值如下:

XXX E(10月15日至30日7月16日)、YYY G(10月15日至29日7月16日)、ZZZZ C(181月16日至2312月16日)、AAA B(041月16日至287月16日)

您可以看到,每个任务都有开始日期和结束日期。结束日期可以使用')‘括号,即')’之前的7个字符来标识。

我必须写一个公式,给我确定的所有结束日期的最大值。我知道,我可以使用宏,但是由于安全问题,我们的组织希望避免宏。

上述领域的产出应为2016年12月23日至2016年。

请建议一下。

EN

回答 3

Stack Overflow用户

发布于 2016-05-17 12:54:18

假定,对于给定的字符串(在A1中):

1)该字符串中每个结束日期的格式都非常不精确。

( 2)每个结束括号前的条目绝不是结束日期以外的任何其他内容。

然后,数组公式**

=MAX(0+MID(A1,MODE.MULT(IF(MID(A1,ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1))),1)={")",")"},ROW(INDEX(A:A,1):INDEX(A:A,LEN(A1)))))-7,7))

将包含此公式的单元格设置为您想要的格式,例如自定义类型ddmmmyy。

请注意,如果您使用的Excel版本中的数组常量中的行分隔符和列分隔符分别不是分号和逗号,则该解决方案可能需要进行小的修改。

问候

**数组公式的输入方式与“标准”公式不同。首先按住CTRL和SHIFT,然后按ENTER键,而不是只按ENTER键。如果您做得正确,您会注意到Excel在公式周围放置了花括号{} (尽管不要自己尝试手动插入这些括号)。

票数 3
EN

Stack Overflow用户

发布于 2016-05-17 12:52:15

不太灵活,但它的工作时间,只要你有4个结束日期,而不偏离给定的格式。除了VBA之外,我想不出任何其他的方法,这将是理想的。

代码语言:javascript
复制
=TEXT(MAX(MID(A1,FIND("-",A1,1)+1,7),MID(A1,FIND("-",A1,FIND("-",A1,1)+1)+1,7),MID(A1,FIND("-",A1,FIND("-",A1,FIND("-",A1,1)+1)+1)+1,7),MID(A1,FIND("-",A1,FIND("-",A1,FIND("-",A1,FIND("-",A1,1)+1)+1)+1)+1,7)),"ddmmmyy")
票数 1
EN

Stack Overflow用户

发布于 2016-05-17 12:51:40

使用MID提取括号之间的数据。假设您的数据位于A列中,则可以使用公式:

代码语言:javascript
复制
=MID(A2,FIND("(",A2)+1,FIND(")",A2)-FIND("(",A2)-1)

您将得到以连字符分隔的开始日期和结束日期(如:10月15日至7月16日)。现在使用LEFTRIGHTSEARCH获取开始日期和结束日期:

开始日期:

代码语言:javascript
复制
=LEFT(B2,SEARCH("-",B2)-1)

结束日期:

代码语言:javascript
复制
=RIGHT(B2,LEN(B2)-SEARCH("-",B2))

若要将这些日期转换为文本,请按以下方式使用TEXT

代码语言:javascript
复制
=TEXT(D2,"ddmmmyy")

希望我已经包括了你的报告可能需要的所有公式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37276252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档