我想编写一个vba代码来计算数字列的平均值(第三个),但除了包含最小日期的行外,因为我想将第一天的数据与其他日期的数据进行比较
但是,我也要考虑这一年。除了AN17,我想要将所有AN16平均。
我不知道该怎么做,这里的任何内容似乎对我都有用。
这是我的数据:
AN17 01-mar-17 65298340734
AN17 02-mar-17 30382114732
AN17 03-mar-17 25149388406
AN17 04-mar-17 54249361285
AN17 05-mar-17 34757947426
AN17 06-mar-17 18546884324
(I need an average here, that excludes number from March 1st)
AN16 26-feb-16 56450549777
AN16 27-feb-16 51285706203
AN16 28-feb-16 37384621464
AN16 29-feb-16 28992655707
AN16 01-mar-16 21979700006
AN16 02-mar-16 27826026350
(I need an average here, that excludes number from February 26th)
有人可以帮忙吗?
谢谢和最诚挚的问候!
答案 0 :(得分:4)
如果您有Office 365 Excel订阅,请在D1中使用此公式:
=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & MINIFS(B:B,A:A,A1)),"")
复制下来:
如果您无权访问Office 365,请改为使用此公式:
=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & AGGREGATE(15,6,$B$1:$B$12/($A$1:$A$12=A1),1)),"")
如果您使用的是2007或更早版本,则需要使用此数组公式:
=IF(A1<>A2,AVERAGEIFS(C:C,A:A,A1,B:B,">" & MIN(IF($A$1:$A$12=A1,$B$1:$B$12))),"")
作为数组公式,必须在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter确认。如果操作正确,那么Excel会将{}
放在公式周围。