我正在从报告工具获取数据。报告包含Date
和User
列(按此顺序)。该工具以 mm/dd/yyyy 格式返回日期。
Excel 不会将导入的数据转换为数字日期;它将被存储为文本值(来自报告工具的原始数据左对齐而不是右对齐)。
我需要连接User
和数字日期值(按顺序)。使用原始导入的数据会产生格式的结果userAmm/dd/yyyy
,而不是所需的格式,如userA42379
。只有在以下情况下,日期作为未格式化的数字值的连接才能正确进行:原始数据采用 dd/mm/yyyy 格式(否则输入数据不会被解释为日期)。
MID
我尝试使用/ LEFT
/和 Excel 中的数字格式将日期从 mm/dd/yyyy 格式转换为 dd/mm/yyyy 格式,RIGHT
但没有成功。当与另一个包含文本的单元格连接时,日期仍以 mm/dd/yyyy 格式显示。
有任何想法吗?
答案1
这是一个适用于的通用解决方案任何 *以月份开头的日期格式,无论它是存储为文本值还是正确的日期时间(序列日期)值:
输入以下公式D2
,然后按 Ctrl-Enter/复制-粘贴/填充到其余列中:
=TEXT(IF(ISNUMBER(C2),C2,DATE(RIGHT(SUBSTITUTE(C2,"/"," "),4),LEFT(SUBSTITUTE(C2,"/"," "),3),MID(SUBSTITUTE(C2,"/"," "),4,3))),"dd/mm/yyyy")
结果存储为文本值。如果需要序列日期值,则只需省略该TEXT()
函数并将单元格的数字格式设置为dd/mm/yyyy
如果源日期格式始终为mm/dd/yyyy
,则公式简化为以下内容:
=TEXT(IF(ISNUMBER(C2),C2,DATE(RIGHT(C2,4),LEFT(C2,2),MID(C2,4,2))),"dd/mm/yyyy")
对于生成连接列的特定情况UserDate
,只需省略该TEXT()
函数:
="UserName"&IF(ISNUMBER(C2),C2,DATE(RIGHT(C2,4),LEFT(C2,2),MID(C2,4,2)))
如果日期始终存储为文本值,则公式可以进一步简化:
="UserName"&DATE(RIGHT(C2,4),LEFT(C2,2),MID(C2,4,2))
答案2
您说报告包含Date
和User
列(按此顺序)。
您还说该工具返回日期文本格式形式为mm/dd/yyyy
。假设您有以下内容:
您需要连接User
和Date
值(按顺序)。这就是我们要在单元格中执行的操作C2
现在我很困惑,你希望连接日期格式是哪种。你想要它mm/dd/yyyy
还是dd/mm/yyyy
希望日期代码给出诸如这样的输出userA 42379
?
我将介绍这三个方面。
若要连接并保持日期格式 ( mm/dd/yyyy
),请使用以下公式
=B2&" "&A2
中间&" "&
的添加了中间的空间。
要连接格式 () 中的日期dd/mm/yyyy
,请使用以下公式
=B2&" "&MID(A2,4,2)&"/"&LEFT(A2,2)&"/"&RIGHT(A2,4)
要连接日期代码,例如42379
,使用以下公式
=B2&" "&DATE(RIGHT(A2,4),LEFT(A2,2),MID(A2,4,2))
答案3
想多了。只需将日期单元格乘以 1,即可将其识别为数字
=连接(B2,A2*1)