大神们,求帮讲解下这excel的函数,真心看不懂
根据你提供的图片,我们可以看到这个函数是用来计算两个日期之间相差多少天的。具体来说,它会返回第一个日期到第二个日期之间相差的天数。公式看起来有点复杂,但是其实并不难理解。它主要利用了日期相关的知识和数学知识。
首先,在日期格式中,年份一般记为4位数(例如2022)。月份记为2位数(例如01),而日则记为2位数(例如01)。因此,在计算日期之间相差多少天时,我们需要先将这两个日期转换成对应的整数。然后将这两个整数进行比较,并用它们的差值除以每天的天数(365或者366)。
最后,如果结果小于等于零,则说明第二个日期早于第一个日期;如果结果大于零,则说明第二个日期晚于第一个日期。
以上就是这个函数的原理和计算过程,希望对您有所帮助!这个公式是嵌套了2层的IF函数,D3单元格=if({(条件1) and (条件2)},结果1,if(条件3,结果2,结果为空值))
这里的条件1=-LOOKUP(,-LEFT($D3,ROW($1:$2)))MONTH($B$2)//d3的月份数B2结束日期的月份数; 其中-LOOKUP(,-LEFT($D3,ROW($1:$2)))就是截取D3中代表月份的数字1,函数效果等同于left(D3,len(D3)-1)*1;MONTH($B$2)就是返回B2的月份数12
条件2=-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($A$2))//同理,d3的月份数大于或等于a2开工日期的月份数
条件1 AND 条件2 //如果D3的月份数是介于开工月份和结束月份的话,那么下面将返回结果1
结果1=DAY(EOMONTH(DATE(DAY($A$2),-LOOKUP(,-LEFT($D3,ROW($1:$2))),1),0))-(-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($A$2))*DAY($A$2)//这段函数比较复杂,可以分成两小段,即:小段1的DAY(EOMONTH(DATE(DAY($A$2),-LOOKUP(,-LEFT($D3,ROW($1:$2))),1),0))和小段2的(-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($A$2))*DAY($A$2),大结构是小段1-小段2,下面分析小段1
小段1:DAY(EOMONTH(DATE(DAY($A$2),-LOOKUP(,-LEFT($D3,ROW($1:$2))),1),0))//最外层是个DAY函数,这一段函数的目的是返回一个1-31之间代表一个月中日期顺序的数字,其中DAY(a2)=10; -LOOKUP(,-LEFT($D3,ROW($1:$2)))上面讲过就是D3的月份值(1),那么小段1函数可简化为DAY(EOMONTH(DATE(10,1,1),0))其中date(10,1,1)是返回10-1-1这个日期的序列数,这个函数感觉是有问题的,第1参数10是代表年份数,而题目的意思理应为2012啊,可能应该为year($A$2),先不管,函数继续简化为DAY(EOMONTH(10-1-1的序列数,0));这里EOMONTH(10-1-1的序列数,0)的意思为返回10-1-1这个日期对应的当月月末的日期,值为10-1-31(1月大,31号为最后一天),然后DAY(10-1-31的序列值)的结果为31
小段2:(-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($A$2))*DAY($A$2)//简化下为:(1=5)*10 返回的是逻辑值0*数10,这段最终结果为0,从中可以看出只有5月份时,结果才能为10,
第6小段减去第7小段组成的结果1的意思到这里应该很明了了,如果D列的月份数在5-12之间,那么返回的结果1都是各月的天数,除了5月份是31-10=21天。
下面的if(条件3,结果2,结果为空值)就是针对D列月份数在小于开工月份5月和大于结束月份12月所作的判断,条件3不成立那么结果为空值或者说IF最终的计算数字等于0。
第2个IF段=IF(-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($B$2),DAY($B$2),)//
其中:条件3=-LOOKUP(,-LEFT($D3,ROW($1:$2)))=MONTH($B$2),简化下为1=12
继续简化:=if(1=12,DAY($B$2),) ,这里1=12返回的是逻辑值0,结果也为“”,从这里可以看出,day(B2)=7 ,只有月份数=12月才成立。
好不容易把字码完了,希望你能够明白和采纳,不清楚的地方欢迎继续询问,总的来说这段函数编写的还行,阴差阳错的DATE函数那里虽然出错了,但是不影响结果。抱歉,你提供的信息不足以让我理解你需要帮助的具体问题。如果你能提供更多的细节或者具体问题描述,我将非常乐意尽力为你解答。谢谢!你好,很高兴为你提供帮助。根据你提供的图片,我无法确定具体问题所在。请提供更多细节或具体问题描述,以便我能够更准确地回答你的疑问。谢谢!
发布者:admin,转转请注明出处:http://www.yc00.com/num/1724545577a2838651.html
评论列表(0条)