在 IF 中使用 TEXT 显示日期序列号

在 IF 中使用 TEXT 显示日期序列号

我正在使用一个IF函数将字符串插入到单元格中,如果指定的单元格是#N/A,则该函数有效,如果我使用以下内容

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",AR2,"')"))

AR2日期在哪里,这是我返回的两个不同的字符串

insert in tempTable values('BIXEN V VASILE ALIN GEORGESCU','19/3/2012')
insert in tempTable values('BANEKIOSKEN V MUHAMMAD NASEEB KHAN','41003')

问题是有些日期是可以的,而其他日期则是日期序列号格式,所以我试图使用该TEXT函数来更改此格式,但以下函数不起作用

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",TEXT(AR2,d/m/yyyy),"')"))

我也试过

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",IF(AR2=d/m/yyyy,AR2,TEXT(AR2,d/m/yyyy)),"')"))

有人看到我做错什么了吗?

编辑:这是公式的工作方式

=IF(AS2="#N/A","",CONCATENATE("insert in tempTable values('",AQ2,"','",IF(AR2="d/m/yyyy",AR2,TEXT(AR2,"d/m/yyyy")),"')"))

答案1

您需要在日期格式周围加上引号,即

TEXT(AR2,"d/m/yyyy")

顺便说一句你可以使用ISNA(AS2)而不是AS2="#N/A"

甚至(在 Excel 2007+ 中)

IFERROR(AS2,CONCATENATE( ... ), "")

相关内容