excel 需要一种方法从此数据类文本中提取日期和时间参数Aug 14 2023 11:36AM以识别为实际日期

rn0zuynd  于 2023-10-21  发布在  其他
关注(0)|答案(1)|浏览(119)

在Excel中,我正在寻找一种方法来从这个类似数据的文本字符串Aug 14 2023 11:36 AM中提取日期和时间参数,并将其转换为不同的格式,如8/14/2023 11:36 AM。
我已经通读了其他人询问的一些方法,并尝试使用公式解析文本并插入逗号

=CONCAT(LEFT(TRIM(A2),3), " ", MID(A2,5,2), ","," ", MID(A2,8,4))

2023年8月14日通常情况下,当它被直接输入到Excel表格单元格时,它会转换为实际的日期格式。但是,即使我将字段数据类型更改为shortdate,它也不会。最终,我想捕捉整个时间和日期,并使其像一个实际的日期识别。有没有一个特殊的功能可以做到这一点?
(我经常使用=Text(A1, "yyyy-mm-dd")重新格式化日期为8/14/2023,但我没有看到任何一个函数将其转换为日期,但也许有)。

rvpgvaaj

rvpgvaaj1#

就像我上面评论的那样,这将在当前通道上与MS365一起工作。

·单元格B1中使用的公式

=LET(a, RIGHT(A1,2), SUBSTITUTE(SUBSTITUTE(A1," ",", ",2),a," "&a)+0)

上面的公式需要填写下来或者如果你想要一个单一的动态数组公式,那么

·单元格C1中使用的公式

=MAP(A1:A3,LAMBDA(x,SUBSTITUTE(SUBSTITUTE(x," ",", ",2),RIGHT(x,2)," "&RIGHT(x,2))+0))

**注意:**输出将是一个数字(如果输出单元格没有事先格式化),因为我们都知道日期和时间存储为数字和一天的分数在Excel中,因此对于所说的日期和时间,它将显示为45152.48333,您需要从格式单元格-->类别-->日期-->选择13th样本,该样本将返回显示为8/14/2023 11:36 AM

或者,如果你只需要一天,那么这就足够了。

·单元格B1中使用的公式

=TEXTBEFORE(SUBSTITUTE(A1:A3," ",", ",2)," ",-1)+0

或者,只有在那个时候,

·单元格B1中使用的公式

=SUBSTITUTE(TEXTAFTER(A1," ",3),RIGHT(A1,2)," "&RIGHT(A1,2))/1

OP在评论中更新:

  • 谢谢,都成功了。你如何处理这些像2023年8月3日上午9:03其中一天是个位数?我知道如何像这样填充日期值=IF(LEN(TRIM(MID(A2,5,2)*<*2,CONCAT(“0”,TRIM(MID(A2,5,2),TRIM(MID(A2,5,2))*但是这些公式如何处理个位数或两位数的日期值?

给定的公式第一个仍然有效,即使它是个位数或两位数,因为我们在这里不寻找数字,但我们正在寻找第二个空格,这是一个空间,我们正在隔离月日,年格式,最终被认为是Excel中的有效日期形式。请参考下面的截图,其中显示它的作品,即使日期是一个单一的数字与相同的公式。

为了验证我的答案,如果你点击日期格式并检查第12个样本,你会发现Excel理解的格式作为日期的倒数,它实际上读取的是Excel中存储日期的数字。虽然这种格式和公式随地区设置以及excel版本而变化,但上述公式在其他版本的MS365Excel 2021中工作没有任何问题,我们需要废弃LET()函数并使用重复的公式使其工作,基本上保持不变。

相关问题