ABS公式不适用于date值
所以我试图在这里回答这个问题,但我注意到ABS
公式不能使用某个date值。 我不明白为什么它在某些date,而不是与其他人一起工作。
可以请别人解释一下这里发生了什么?
以下是显示我所尝试的截图。
*注 :date格式为"dd/mm/yyyy"
,我不想在A
栏中做任何修改。
由于数据是以这种格式提供给你的,而且由于某些date是真正的数字date,而有些是看起来像date的文本,所以你需要对数据进行处理,以便所有数据都是真正的数字date。
这是一个公式,你可以在列B中应该这样做:
=IF(LEFT(A2,2)>"31",A2,DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2)))
这个公式假设列A中所有真正的文本,但看起来像date的值是在这个确切的格式:mm / dd / yyyy。
此外,在公式开始时与“31”的比较意味着这应该适用于1987年以后的所有date。
在我看来,这个问题还没有解决,因为问题的真正原因还没有确定,所以我发布这个问题是为了提高对问题原因的认识。
真正的问题不是某些date是无效的(认为它们实际上是文本而不是表示特定date的序列号) ,问题在于用于处理input文件的计算机(不一定与在此问题中使用的计算机相同被确定)预计date在美国标记(mm / dd / yyyy) ,并且所有这些date以国际标记(dd / mm / yyyy) 。
正如@ Nelly27281所述
注:date格式为“dd / mm / yyyy”格式,我不想在A列中做任何更改。
然而,看[A2:A4,A9]
中所有显然是正确的值,请注意,这些date表示为文本正在显示[C2:C4,C9]
预计为几天的date,反之亦然如下图)
图。1
将同一来源的date格式混合起来确实很奇怪。
这实际上意味着单元格格式[A2:A4,A9]
类似于m/d/yyyy
根据上述看来,实际值(预期的 – 可能来自外部文件)是:
图2
要复制问题,请更改Region
设置,将Short date
格式设置为MM/dd/yyyy
然后将单元格A2:A10
格式化为m/d/yyyy
。 然后在这些单元格中inputdate列表,您会注意到A5:A8,A10
中的date是作为文本input的。 这是因为系统预期date为mm/dd/yyyy
,而这些input的第一部分是> 12 (不符合月份),所以input的值不会被识别为date,因为它们包含非数字字符作为标签(文本或string) 。
根据以上(应根据源数据进行validation) ,以下公式将返回正确的date,假定:
- 任何
numeric
date转换为m/d/yyyy
实际上是d/m/yy
- 任何
text
date应使用格式d/m/yy
作为date进行转换。
=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中input,然后复制到最后一个logging)