ABS公式不适用于日期值

时间:2015-09-14 17:39:10

标签: excel excel-formula

所以我在这里尝试回答 this 问题,但我注意到 ABS 公式不适用于某些日期值。我不明白为什么它在某些日期工作而不与其他人合作。

有人可以解释一下我在这里发生了什么吗?

以下是显示我尝试过的屏幕截图。

enter image description here

*注意:日期为"dd/mm/yyyy"格式,我不想在列A中进行任何更改。

2 个答案:

答案 0 :(得分:2)

由于数据是以这种格式提供给您的,因为有些日期是真正的数字日期,有些是看起来像日期的文本,您需要按摩数据,以便在继续之前所有数据都是真正的数字日期。

以下是可以放在B列中的公式:

=IF(LEFT(A2,2)>"31",A2,DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2)))

这个公式假设A列中所有真正文本但看起来像日期的值都是这种格式:mm / dd / yyyy。

此外,在公式开头与“31”的比较意味着这应适用于1987年之后的所有日期。

答案 1 :(得分:1)

在我看来,这个问题还没有解决,因为问题的真正原因尚未确定,所以我发布这个问题是为了提高对问题原因的认识。

真正的问题不是某些日期无效(认为它们实际上是文本而不是代表特定日期的序列号),问题是用于处理输入文件的计算机(不一定与发现此问题时使用的相同)期待美国符号(mm / dd / yyyy)中的日期,以及所有这些日期都在国际表示法(年/月/日)

正如@ Nelly27281所述

  

注意:日期采用“dd / mm / yyyy”格式,我不想制作   A栏中的任何变化。

然而,在[A2:A4,A9]中查看显然正确的所有值,请注意这些日期表示为文本显示预期为几天的天数,反之亦然[C2:C4,C9](参见图。下面)

enter image description here 图1

将来自同一来源的日期格式混合起来确实很奇怪。

这实际上意味着单元格[A2:A4,A9]的格式类似于m/d/yyyy

根据上述情况,似乎实际值(预期值 - 可能来自外部文件)是:

enter image description here 图2

要复制该问题,请更改Region设置,将Short date格式化为MM/dd/yyyy,并将单元格A2:A10格式化为m/d/yyyy。然后在这些单元格中输入日期列表,您会注意到A5:A8,A10中的日期作为文本输入。这是因为系统期望日期为mm/dd/yyyy,并且这些输入的第一部分是&gt; 12 (不符合资格数月)因此输入的值不会被识别为日期,因为它们包含非数字字符,它们将被视为标签(文本或字符串)。< / p>

基于以上(应根据源数据进行验证),以下公式返回正确的日期假设:

  1. 任何numeric日期已转换为m/d/yyyy实际上d/m/yy
  2. 任何text日期都应使用d/m/yy格式转换为日期。
  3. =IF(ISNUMBER($A2), DATE(YEAR($A2),DAY($A2),MONTH($A2)), DATE(RIGHT($A2,4),SUBSTITUTE(MID($A2,1+FIND("/",$A2),2),"/",""), SUBSTITUTE(LEFT($A2,2),"/","")))

    (输入B2然后复制到最后一条记录)