用Excel中的string连接date

我在Excel中有两个单元格。 一个有一个string,另一个有一个date。 在第三个单元格中,我想把date和string放在一起。 例如:

A1 = "This " A2 = "03/03/1982" 

我希望A3是:

 This 03/03/1982 

当我试图把这个在A3公式中: = A1 & A2它返回一些有趣的数值为date,并没有给我的文字date。

不知道这是否是最好的方法,但我会这样做:

 =A1 & TEXT(A2,"mm/dd/yyyy") 

这应该格式化你的date到你想要的string。

编辑:你看到的有趣的数字是从1899年12月31日至你的date之间的天数。 这就是Excel如何存储date。

这是date的数字表示。 当你从这样的公式中提取date的时候你会得到的东西。

你必须这样做:

 = A1 & TEXT(A2, "mm/dd/yyyy") 

这里最大的问题是格式说明符是语言环境相关的。 如果使用不同的本地化Excel打开文件,它将无法正常工作。

现在,你可以有一个用户定义的函数:

 public function AsDisplayed(byval c as range) as string AsDisplayed = c.Text end function 

接着

 = A1 & AsDisplayed(A2) 

但是,在Excel中有一个bug(特征?),因为在计算周期的某些阶段, .Text属性突然不可用 ,而你的公式显示#VALUE而不是他们应该的。

也就是说,这是不好的方法。

另一种方法

 =CONCATENATE("Age as of ", TEXT(TODAY(),"dd-mmm-yyyy")) 

截至2013年8月6日,这将返回年龄

感谢您的解决scheme!

它的工作原理,但在法国的Excel环境中,你应该应用类似的东西

 TEXTE(F2;"jj/mm/aaaa") 

以连接后的F2单元格显示保存的date。 最好的祝福

你可以这样做:

A1 = Mahi
A2 = NULL(空白)

selectA2右键单击单元格 – > 格式单元格 – >更改为文本

然后把dateA2(A2 = 31/07/1990)

然后连接它将工作。 不需要任何公式。

= CONCATENATE(A1,A2)

mahi31 / 07/1990

(这对空单元格有效,即,在将DATE值input到单元格之前,需要将其设置为TEXT)。