我在Excel文件中有大约20,000条记录,大约有四列有日期。我试图将这些插入SQL。但是,日期列的日期格式不正确,例如; 02/092015
或02/90/2015
或2015
。因此,逐个检查20,000条记录会非常冗长。
我试图计算/
,但它不起作用。它将列的格式更改为日期。
我正在寻找一些可以检查格式的公式,也许可以为单元格或类似颜色着色。
答案 0 :(得分: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 date
和not a valid date
。
答案 1 :(得分:0)
您提供的两个示例是可以通过应用公式规则使用条件格式标识的文本,例如:
=ISTEXT(A1)
并根据需要为结果着色。如果所有您的日期(即使是有效格式的日期)也是文本,那么就会出现问题,但我猜测并非如此。
对于第三个例子(即2015
)CF公式规则,例如:
=AND(A1<2500,A1>0)
可能有所帮助。
如果您的列是应该是日期和其他正确文本字符串的条目的混合,那么您的方法可能比更通用的ISTEXT
更好,例如CF公式规则:
=FIND("/",A1)>0
答案 2 :(得分:0)
如果可以使用公式
将列添加到Excel工作表=DATEVALUE(TEXT(A1,"dd/mm/yyyy"))
如果A1的内容不是dd / mm / yyyy格式的有效日期,则应返回#VALUE
。您可以对此值进行过滤以识别不正确的记录。
编辑:如果A1只包含2015
,则此公式会返回07/07/1905
(如果公式单元格格式化为日期),那么您可以通过在文件应包含的最早正确日期之前过滤日期来发现这些日期