EXCEL高手请帮我详细解释一下下列语句的详细意思

IF(COLUMN(A1)<=DAY(EOMONTH($D$2,0)),DAY(DATE(YEAR($D$2),MONTH($D$2),COLUMN(A1))),"")
最好是每个函数的意义和执行步骤都写清楚

不管事什么公式、代码,都是依赖一定的环境才能发挥实际的作用,你也只给公式,很难有人能猜得到公式的实际作用是什么。

如果是你自己打算深入细致研究一下公式的逻辑思路,可以通过“公式求值”这个功能来逐步分解多层嵌套、语句较长的公式

具体步骤:光标定位含有公式的单元格(不需要激活编辑状态),菜单栏“公式”,“公式求值”,这样就可以分步骤查看公式逻辑了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-30

这个公式好无聊,只要D2单元格填的是正常日期,结果永远为1。假设D2="2018-02-07",解释如下:

COLUMN(A1): 意思是单元格A1所在列,很显然是第一列,所以值为1

EOMONTH($D$2,0): 返回D2单元格所填日期所在月份的最后一天,本例为2018年2月份最后一天,EOMONTH($D$2,0)="2018-02-28"

YEAR($D$2), MONTH($D$2), DAY($D$2): 分别返回D2日期的年、月、日

DAY(EOMONTH($D$2,0)): EOMONTH()外面套一层DAY(),EOMONTH()="2018-02-28",然后DAY("2018-02-28")=28

DATE(YEAR($D$2),MONTH($D$2),COLUMN(A1)): DATE()函数定义一个日期,年、月和D2单元格相同,日为COLUMN(A1)=1,即2月份第一天"2018-02-01"

DAY(DATE(YEAR($D$2),MONTH($D$2),COLUMN(A1))): 返回DATE()函数返回"2018-02-01",然后DAY("2018-02-01")=1

整体逻辑:if(1<="D2日期所在月最后一天", 1, 0),条件肯定成立,所以总是返回1

本回答被提问者和网友采纳
相似回答