在贴吧找到一个有意思的问题
这题的难点不在求和,在于怎么去取合并单元格的行数
我的思路如下
=IF(B1<>"",D1*E1/(SMALL(IF(D$1:D$10=0,MAX(A:A)+1,ROW($1:$10)),COUNT(D$1:D1)+1)-SMALL(IF(D$1:D$10=0,MAX(A:A)+1,ROW($1:$10)),COUNT(D$1:D1))),OFFSET(F1,-1,))
利用if将合并单元格首行和非首行区分开分开列式,非首行直接取上一行的值即可,这里因为没有表头,就用了个offset函数,则函数我是真的用得少
首行取值的话我先利用创建一个数组,将首行行数都取出来,然后利用两个首行的所在行差值来确定合并单元格的行数
这题的难点不在求和,在于怎么去取合并单元格的行数
我的思路如下
=IF(B1<>"",D1*E1/(SMALL(IF(D$1:D$10=0,MAX(A:A)+1,ROW($1:$10)),COUNT(D$1:D1)+1)-SMALL(IF(D$1:D$10=0,MAX(A:A)+1,ROW($1:$10)),COUNT(D$1:D1))),OFFSET(F1,-1,))
利用if将合并单元格首行和非首行区分开分开列式,非首行直接取上一行的值即可,这里因为没有表头,就用了个offset函数,则函数我是真的用得少
首行取值的话我先利用创建一个数组,将首行行数都取出来,然后利用两个首行的所在行差值来确定合并单元格的行数