-1

下起大雨!),

我正在尝试在 MS Excel 2013 中编写执行以下操作的语句:

如果 Y 列中的任何单元格(除了单元格 Y1 - 因为它是标题)包含日期,则在单元格 Z2 中输出“是”。

否则在单元格 Z2 中输出“否”

4

2 回答 2

1

我坚信您正在寻找这个:

=ISNUMBER(IF(ISNUMBER(I2);I2;DATEVALUE(I2)))

TRUE如果它是日期数字或存储为文本的日期,则返回。我相信您可以像这样查找查找“任何单元格”的{=SUM(IF())} 技巧:

{=IF(SUM(IF(ISNUMBER(IF(ISNUMBER($Y$2:$Y$1048576),$Y$2:$Y$1048576,DATEVALUE($Y$2:$Y$1048576))),1,0))<>0,"Yes","No")}

或者,您可能只想检查文本,在这种情况下,您想检查其他内容。请继续关注,我正在尝试创建一个肮脏的公式。
免责声明:分隔符是;s。
编辑:回来更多的热量。
由于您似乎很挑剔并正在寻找“yy/mm/dd”格式,因此我将其切成部分。
年:=MID(I2;1;2)
月:=MID(I2;4;2)
日:=MID(I2;7;2)
您可以从此重新创建日期:=DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2))
不幸的是,它接受说“14/12/32”并输出#[19]15/01/01#。如果它们符合您的期望,您必须检查每个日期部分(或至少两个)。
年:=RIGHT(YEAR(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)));2)=MID(I2;1;2)
月:=MONTH(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)))&""=MID(I2;4;2)
日:=DAY(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)))&""=MID(I2;7;2)
完整的逻辑输出将如下所示(您可以去掉一个参数):

=AND(RIGHT(YEAR(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)));2)=MID(I2;1;2);MONTH(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)))&""=MID(I2;4;2);DAY(DATE(MID(I2;1;2);MID(I2;4;2);MID(I2;7;2)))&""=MID(I2;7;2))
于 2015-07-22T09:01:37.670 回答
0

在与企业交谈后,似乎我的问题现在不再需要了。而不是在单元格 Z2 中输入“是”,他们现在可以使用 Y 列中提到的最早日期。为了实现这一点,我将以下内容放入单元格 Z2

=MIN($Y:$Y)

不优雅,但它现在满足了他们的要求(假设他们不再改变主意)。

感谢那些回复的人,特别是@user3819867

于 2015-07-22T23:57:35.533 回答