EXCEL函数:一个表格中的多个条件自动筛选后对应的值求平均数,放入另一个表格的对应单元格中
例如:左图中表格,B列按日期筛选后(日期格式),再C列筛选一个时间段范围(时间格式),对应的D列的所有数值求平均值后,放入右图sheet1表格对应的单元格中。数量巨大,不...
例如:左图中表格,B列按日期筛选后(日期格式),再C列筛选一个时间段范围(时间格式),对应的D列的所有数值求平均值后,放入右图sheet1表格对应的单元格中。数量巨大,不想一点一点的筛选,是否有合适的函数公式使用?谢谢;
展开
展开全部
可以使用averageifs函数,2003版本没有这个函数。具体为
=AVERAGEIFS(D:D,B:B,日期,C:C,">="&1/12,C:C,"<="&47/144)
这个是将2:00-7:50的平均数值算出来。
=AVERAGEIFS(D:D,B:B,日期,C:C,">="&1/12,C:C,"<="&47/144)
这个是将2:00-7:50的平均数值算出来。
追问
谢谢你的回答,我是有试过AVERAGEIFS,不知道为什么验证出来的数不一致,你的1/12和47/144是怎么得来的,我好想这儿和你的不一样,非常感谢;
追答
1/12就是2点,47/144就是7:50,时间格式转化为常规其实就是一个带有小数的数值,只不过我使用了分数表达了时间的大小而已。
展开全部
用VB写个宏
更多追问追答
追问
谢谢你的回答,只能写宏了么?现成的公式们不够用了么?
追答
刚想到,单开一列做个计算也行。把你的筛选条件写成判断式,true值为1,false值为0,然后乘以D列的数,这样符合条件的数不变,不符合的变成0,再排序求平均。
比如在E1中键入:
=if(B1>=2015/8/1,1,0)*if(C1>=2:00:00 & C1<=4:00:00,1,0)*D1
然后拉满E列,把等于0的数去掉,再求平均。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用vlookup调取
追问
谢谢你的意见。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询