excel日期处理问题

请高手详细指教
1.我要把一个表格里面小于2009-12-31日的时间都换成2009-12-31日怎么弄?
2.我要计算2010-12-31与之前日期比如2010-5-1的月份差!只要月份!怎么用?
谢谢
现在时间月份都搞定了!谢谢大家
还是有bug 的地方,现在发现的有一个时间是2009-6-31不能用这个公式算,和2009-12-31比较的结果是2009-6-31大!不知道为什么,我这里一共2500多条数据,正在找bug................

最好说明你的日期的样式,如果不是标准的日期格式,那就公式要修改!

1. 假设A1为一个日期
B1输入 =IF(A1<DATE(2009,12,31),DATE(2009,12,31),A1),最后复制粘贴就行
2.两个日期月份差:
=DAYS360(日期1,日期2)/30

PS:

你看不到我的留言吗?那个是文本,文本大于一切数字!
这样,选择那个单元格,右键-设置单元格格式-选择“日期:2001-3-14"形式,然后重新在这个单元格输入2009-6-31,就可以判断了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-11
你的日期数据都是在同一列的吗?是的话就好办,比如日期在A列,并从第一行开始,则在另外一列作辅助,写入
=IF(A1<DATE(2009,12,31),DATE(2009,12,31),A1)
其它往下拖拉,再复制,数值型粘贴回原列去。

月份差,两者相减除于30就大概是相差的月份了吧。。。
第2个回答  2009-05-11
1.若你的数据在同一列,选中该列,数据-筛选-自动筛选-下拉框选自定义-在等于框选小于,右边框输入:2009-12-31,确定,选中筛选结果-在列标c上面的空白处(即编辑栏)输入:2009-12-31,以ctrl+ebter键结束即可
2.=datedif("2010-5-1",2010-12-31","m"),计算相差的足月数,可直接引用日期所在单元格,即可=datedif(a1,a2,"m"),a1为开始日期,a2为结束日期。