在Excel中将日期与字符串连接

l--*_*''' 49 excel worksheet-function

我在Excel中有两个单元格.一个有字符串,另一个有日期.在第三个单元格中,我想将日期和字符串放在一起.例如:

A1 = "This "
A2 = "03/03/1982"
Run Code Online (Sandbox Code Playgroud)

我希望A3成为:

This 03/03/1982
Run Code Online (Sandbox Code Playgroud)

当我试图把它放在A3公式中时:= A1 & A2它返回一些有趣的数字值,并没有给我字面上的日期.

Chr*_*isO 76

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

=A1 & TEXT(A2,"mm/dd/yyyy")
Run Code Online (Sandbox Code Playgroud)

这应该将您的日期格式化为您想要的字符串.

编辑:你看到的这个有趣的数字是1899年12月31日和你的约会之间的天数.这就是Excel存储日期的方式.


GSe*_*erg 14

这是日期的数字表示.你从类似的公式中提到日期时得到的东西.

你必须这样做:

= A1 & TEXT(A2, "mm/dd/yyyy")
Run Code Online (Sandbox Code Playgroud)

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

现在,您可以拥有用户定义的函数:

public function AsDisplayed(byval c as range) as string
  AsDisplayed = c.Text
end function
Run Code Online (Sandbox Code Playgroud)

然后

= A1 & AsDisplayed(A2)
Run Code Online (Sandbox Code Playgroud)

但是在Excel中有一个错误(功能?),因为在计算周期的某些阶段,.Text属性突然不可用,并且您的公式显示#VALUE而不是它们应该显示的内容.

也就是说,这两种方式都很糟糕.


小智 6

另一种方法

=CONCATENATE("Age as of ", TEXT(TODAY(),"dd-mmm-yyyy"))
Run Code Online (Sandbox Code Playgroud)

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