在同一列中,有不同格式的日期。要根据不同的日期格式转化为不同格式的文本,怎么用一个公式实现呢?要把同一列中,“2019年5月29日”这种具体到日的日期转化为“20190529”格式,“2018年4月”这种具体到月的转化为“201804”形式。

TEXT函数将数字按指定格式转化为文本。用法 :=TEXT(value,format_text ) ,value为数值或包含数值的单元格(日期也是一种数值),format_text为英文双引号("”)括起来的格式表达式。

如图,公式 =TEXT(A2,”yyyymmdd”) 将“2019年5月25日”转化为文本“20190525”。 公式=TEXT(A2,”yyyy年m月”)将 “2019年5月25日”转化为文本“2019年5月”。

CELL函数返回单元格的格式、位置或内容的信息。 公式=CELL("format", A1) 返回A1单元格的格式,不同格式在excel中用不同的字符表示。用法为 CELL(info_type, [reference]), 除了指定为”format”,还有其他用法。

结合IF、TEXT、CELL函数解决问题

公式=IF(CELL("format",A2)="D1",TEXT(A2,"yyyymmdd"),TEXT(A2,"yyyymm")), 先判断单元格的日期格式,若单元格具体到日期,则转化为“20190525”格式的文本,否则转化为“201905”格式。

双击公式所在单元格右下角的小方块,或者按住小方块向下拖动,实现公式的向下自动复制,完成一列数据的处理。