excel公式求解,求大神帮忙解释! 5
这段公式是什么意思,真心求教。
b的公式貌似是=MATCH(FLOOR(TODAY(),7)-1,A3:A1273,0)+2 展开
从函数的最内层开始解读,先解释比较短的,第二个公式:
TODAY():今天的日期;
FLOOR(TODAY(),7):将参数 TODAY() 向下舍入(沿绝对值减小的方向)为最接近的 7 的倍数,这一步求得结果其实是距离今天最近的周六的日期,后边又减了一个1,就是周五了;
MATCH(FLOOR(TODAY(),7)-1,A3:A1273,0)+2:在A3:A1273的范围中,查找这个“周五”的位置再往下走2个位置;
至此解释了你的第二个公式,其实你理解的这个是“b”的公式是不对的,第一个函数的“b”是指B列,上下公式没关系,下边开始解读第一个公式
INDIRECT("b"&(($A$1)-7)):首先$A$1外边的括号是多余的,(($A$1)-7)会得到一个数值,假如是11,INDIRECT("b"&(($A$1)-7))就成了INDIRECT("b11"),就是B11的内容,IF函数的条件“INDIRECT("b"&(($A$1)-7))=""”,意思是:如果B11为空,就返回空,否则计算后边那个公式AVERAGE(INDIRECT("b"&(($A$1)-7)):INDIRECT("b"&(($A$1)-1)));
IF第三个参数AVERAGE(INDIRECT("b"&(($A$1)-7)):INDIRECT("b"&(($A$1)-1))),这个就是出错的地方了,假如你的A1=10,公式变为AVERAGE(INDIRECT("b3"):INDIRECT("b9")),indirect函数返回的文本地址单元格内的内容,也就是B3与B9的内容,到这,看到你的意思应该是求B3:B9这7个单元格的平均值,但这个公式就错了,没法计算;
IF的第三参数改成average(offset($b$1,$a$1-6,,7,))
这个公式本身就错误,如何解。
($A$1)-7 前一个单元格的绝对引用在这里视为文本,文本参与算术运算时视为0,所以结果为-7
INDIRECT 这个函数是返回单元格引用,参数为单元格引用的文本,而("b"&(($A$1)-7)这个返回的结果为b-7,不是一个引用格式的文本。所以然这里必出错。