=DATE(YEAR(B2),MONTH(B2)+DAY(B2)>15+2,DAY(B2)) 2014/1/1 经过这个运算变成2013/12/1,到底是怎么运算的 5

中间的月份计算是什么意思?请诸位仙人指导指导。最好把运算的过程给小弟讲解讲解,吾会感激零涕。... 中间的月份计算是什么意思?请诸位仙人指导指导。最好把运算的过程给小弟讲解讲解,吾会感激零涕。 展开
 我来答
染青42
2015-04-22 · TA获得超过1058个赞
知道小有建树答主
回答量:856
采纳率:50%
帮助的人:144万
展开全部
很好解释啊
外面是date()函数

里面YEAR(B2)=2014,
DAY(B2)=1

MONTH(B2)+DAY(B2)>15+2
MONTH(B2)+DAY(B2)=1+1=2
2>17 如果为真返回为1,假则返回0,因此这里Month结果只可能为0(上个月的12)或1
因此Month=0
结果是2014/0/1
而根据定义没有零月的说法,因此会倒退到上一年,也可以说是转换,于是就成了2013/12/1,
如果仍不理解,你可以试试 =DATE(2014,13,1)
你会发现等于2015/1/1
追问
比如说在单独使用day函数,day(b2)>15会返回false值。也就是是不是说只是在date函数中不满足条件返回的是0值?有没有别的函数也是这样,不满足条件返回0值
追答
额,这么给你说吧,这个其实是Boolean值,Boolean值有两个 值true和false,而在C语言等里面,有一条是非零为真,意思就是0代表false,其他的数表示为true。不过普遍的是0代表false,1代表true,至于其他函数,只要返回值为Boolean的,结果只能为0或1,比如这里用的   ==   != 等等运算符都是返回为Boolean值,只是自动转换为0和1罢了。并不是函数返回了true和false,而是整个表达式返回的是Boolean类型的而已,这里day()函数返回的还是表示天啊。
主要还是看是什么语言
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式