Excel 表格中如何求出如此复杂的均价??

来源:百度知道 编辑:UC知道 时间:2024/05/29 15:58:49
A、B两列数据,A为购买价格,B为购买数量。假设A、B列最后一个单元格分别为A5、B5,B5为B1~B4的总和,A5为均价。但因为每次购买的数量不同,所以A5应为(A1*B1+A2*B2+A3*B3+A4*B4)/B5;但又因为需要,在A4与A5之间随时有可能插入不定数量的新的列,从而增加新的购买价格与购买数量。同时附加条件如果A1为0,则A5、B5为空。
已知B5的公式应为=IF(A1=0,"",SUM(INDIRECT("B1:B"&ROW()-1)) )。如此,A5的公式该如何编写?请高人指点迷津,多谢!
最好能再加上个四舍五入的命令。
另外请注意问题中的这句话:“在A4与A5之间随时有可能插入不定数量的新的列,从而增加新的购买价格与购买数量。”

定义名称
A =indirect("a1:a"&row()-1)
B =indirect("b1:b"&row()-1))
然后:
a5 =if(a$1,sumproduct(A*B)/b5,"")

B5 公式 =ROUND((A1<>0)*SUM(B1:B4),2)
A5 公式 =IF(B5=0,"",ROUND((A1<>0)*SUMPRODUCT(A1:A4,B1:B4)/SUM(B1:B4),2))

楼主: 您没说四舍五入保留几位数,我就当是保留2位. 看您需要保留几位,请将上边公式中的2改成几位.

注: 如果需要零值不显示 请在工具-->选项-->视图-->去掉零值前对钩-->确定.

A5=IF(B5=0,"",ROUND(SUMPRODUCT(A1:A4,B1:B4)/B5,0))
插入不影响,符合四舍五入.