Excel中从order_date列提取年份的公式修正求助
Excel日期列提取年份公式修正方案
原公式问题分析
原公式=IF(AND(L2 < 10, M2 = 9), MID(B2,14,4), MID(B2,13,4))*1依赖辅助列L2(日期日)和M2(月份)判断年份起始位置,但这种方式容错性差:一旦辅助列计算出错,或者日期字符串出现其他格式差异(比如月份缩写长度变化),就会导致提取结果异常。
修正方案
推荐两种更可靠的提取方式,无需依赖辅助列:
方案1:直接提取最后4位(适用于年份始终在字符串末尾)
从日期字符串末尾直接截取4位作为年份,公式如下:=RIGHT(B2,4)*1不管月份是3字符(如Sep)还是4字符(如Sept),年份始终是字符串最后4位,这种方式最简单高效。
方案2:通过分隔符定位年份(通用适配所有类似格式)
利用FIND函数找到第二个-的位置,再提取其后的4位年份,公式如下:=MID(B2,FIND("-",B2,FIND("-",B2)+1)+1,4)*1该方案不依赖固定位置,只要日期格式是
日-月-年的结构,就能准确提取年份,适配所有月份缩写长度的情况。
内容的提问来源于stack exchange,提问作者DexPapa
相关产品推荐
相关产品推荐

