在Google Sheet中使用Array Formula提取日期时间中的日期
Google Sheets 用 ArrayFormula 提取跨工作表日期时间的日期部分
假设你的日期时间数据存放在Sheet1的A列(从A1开始),可以用以下两种简洁的公式在Sheet2中批量提取日期部分并格式化为15 Nov 2022样式:
方法1:直接用 TEXT 格式化(推荐)
如果Sheet1中的数据是Google Sheets识别的标准日期时间格式(不是纯文本),直接使用TEXT函数结合ARRAYFORMULA即可:
=ARRAYFORMULA(IF(Sheet1!A:A="", "", TEXT(Sheet1!A:A, "dd mmm yyyy")))
TEXT(Sheet1!A:A, "dd mmm yyyy"):将日期时间值按指定格式输出,自动忽略时间部分ARRAYFORMULA:让公式作用于整列,无需下拉填充IF(Sheet1!A:A="", "", ...):避免空单元格返回错误值
方法2:提取日期值后格式化
先通过INT提取日期时间的整数部分(即纯日期值),再格式化:
=ARRAYFORMULA(IF(Sheet1!A:A="", "", TEXT(INT(Sheet1!A:A), "dd mmm yyyy")))
原理和方法1一致,只是多了一步提取纯日期值的操作,效果相同。
适配文本格式的日期时间
如果Sheet1中的数据是纯文本格式的日期时间(比如手动输入的Nov 15, 2022, 2:34 PM),需要先清理文本并转换为日期值:
=ARRAYFORMULA(IF(Sheet1!A:A="", "", TEXT(DATEVALUE(REGEXREPLACE(Sheet1!A:A, ", \d+:\d+ [AP]M", "")), "dd mmm yyyy")))
REGEXREPLACE(...):用正则表达式去掉文本中的时间部分(, 2:34 PM这类内容)DATEVALUE:将清理后的日期文本转换为Google Sheets可识别的日期值- 后续步骤和前面一致,最终格式化输出目标样式
内容的提问来源于stack exchange,提问作者user20595599
相关产品推荐
相关产品推荐

