2015-02-10 115 views
0

我在Excel文件中大约有20,000条记录,并且有大约四个有日期的列。我试图将这些插入到SQL中。但日期栏的日期格式不正确,例如: 02/09201502/90/20152015。因此,逐一检查20,000条记录将非常漫长。如何在Excel中检查日期格式

我试图算一下/但它没有奏效。它会更改列的格式。

我正在寻找一些公式,可以检查格式和颜色的单元格或类似的东西。

+2

如何使用自动过滤器?你应该能够很快从那里知道需要改变的地方。 – Dave 2015-02-10 09:33:11

+0

我会按照戴夫的建议,只是纠正这些。你只需要找到类似问题的快速修复。例如:'02/092015',你可以用'/ 2015'替换'2015'来快速解决这个问题。 – CustomX 2015-02-10 09:54:59

回答

0

的你给的例子中有两个是文本可以与条件格式通过应用式规则识别,例如:

=ISTEXT(A1) 

和着色结果作为你的愿望。如果全部你的日期(即使是那些有效格式)也是文字,但是我猜测情况并非如此。

对于第三个例子(即2015)一个CF式规则,例如:

=AND(A1<2500,A1>0) 

可能有帮助。

如果你列的应该是什么日期,是正确的文本字符串你的方法可能比更一般的ISTEXT更好的其他项目,例如一个CF公式规则的混合物:

=FIND("/",A1)>0 
0

如果可以将列到Excel工作表添加与式

=DATEVALUE(TEXT(A1,"dd/mm/yyyy")) 

这应该返回#VALUE如果A1的内容不是在DD/MM/yyyy格式有效日期。您可以过滤此值来识别不正确的记录。

编辑:如果A1只包含2015此公式返回07/07/1905(如果该公式的单元格的格式设置为日期),这样你可以通过你的文件应该包含正确的最早日期前过滤的日期发现这些。

+0

,但即使在正确的日期也会返回#value – mark 2015-02-12 05:39:01

+0

您能否给我一个失败的正确日期示例?当我尝试它时,它工作正常。你可以尝试在单独的单元格中分解'TEXT'函数来检查返回的内容。 – nekomatic 2015-02-12 10:01:38

+0

显示#VALUE的日期是13/10/1970,10/02/1977很少的例子,但是我已经将它们格式化为日期和英国英国。 – mark 2015-02-13 14:29:40

1

我今天在这个问题上运行,并希望添加到nekomatic开始。

在我们开始之前,TEXT公式需要遵循我们正在使用的日期格式。如果您的日期是月/日/年格式,那么TEXT公式的第二个参数将为“mm/dd/yyyy”。如果格式为日/月/年,则公式需要使用“dd/mm/yyyy”。为了我在这里的答案,我将以月/日/年格式来记录我的日期。

现在,我们假设单元格A1包含值12/1/2015,单元格A2包含值monkey,单元格A3包含值2015。此外,假设我们的最低可接受日期是2000年12月1日。

在B列,我们将输入公式

=IF(ISERROR(DATEVALUE(TEXT(A1,"mm/dd/yyyy"))),"not a date",IF(A1 >=DATEVALUE(TEXT("01/01/2000","mm/dd/yyyy")),A1,"not a valid date"))

上述公式将验证正确的日期,对非日期值,不完整的日期和日期值测试一个可接受的最小的值的外部。

我们在B栏中的结果应显示12/1/2015,not a datenot a valid date