admin管理员组文章数量:1289845
I'm having a hard time coming up with the logic criteria I need to get the formula to produce a four hour average when I have at least three of the previous four hours of data.
For example, I have 24 hourly averages as source data. I have to create a 4 hour average for each four hour block. The four hour average is only valid if I have data for at least 3 out of each 4 hours.
IE:
I'm having a hard time coming up with the logic criteria I need to get the formula to produce a four hour average when I have at least three of the previous four hours of data.
For example, I have 24 hourly averages as source data. I have to create a 4 hour average for each four hour block. The four hour average is only valid if I have data for at least 3 out of each 4 hours.
IE:
Share Improve this question edited Feb 20 at 19:12 BigBen 50.2k7 gold badges28 silver badges44 bronze badges asked Feb 20 at 19:11 BBA HunterBBA Hunter 114 bronze badges 1- 1 Why do hours 3 and 20 have corresponding results? – BigBen Commented Feb 20 at 21:13
3 Answers
Reset to default 2=IF(A2:A25<3,"",MAP(B2:B25,LAMBDA(b,LET(c,TOCOL(--TAKE(B2:b,-4),2),IF(ROWS(c)<3,"",SUM(c)/ROWS(c))))))
Value 20 would not return an average since you have less than 3 values
Or like TomSharpe mentioned:
=IF(A2:A25<3,"",MAP(B2:B25,LAMBDA(b,LET(c,TOCOL(--TAKE(B2:b,-4),2),IF(ROWS(c)<3,"",AVERAGE(c))))))
Paste this in a new sheet:
Hour Number | Data Value | 4 Hr Average |
---|---|---|
1 | 3245 | |
2 | 3544 | |
3 | 654 | =IF(COUNTIF(B1:B4,">="&0)>2,SUM(B1:B4)/4,"No valid data") |
4 | 2345 | =IF(COUNTIF(B2:B5,">="&0)>2,SUM(B2:B5)/4,"No valid data") |
5 | 654 | =IF(COUNTIF(B3:B6,">="&0)>2,SUM(B3:B6)/4,"No valid data") |
6 | 9876 | =IF(COUNTIF(B4:B7,">="&0)>2,SUM(B4:B7)/4,"No valid data") |
7 | 89709 | =IF(COUNTIF(B5:B8,">="&0)>2,SUM(B5:B8)/4,"No valid data") |
8 | 4653 | =IF(COUNTIF(B6:B9,">="&0)>2,SUM(B6:B9)/4,"No valid data") |
9 | 56789 | =IF(COUNTIF(B7:B10,">="&0)>2,SUM(B7:B10)/4,"No valid data") |
10 | 78655 | =IF(COUNTIF(B8:B11,">="&0)>2,SUM(B8:B11)/4,"No valid data") |
11 | 456564 | =IF(COUNTIF(B9:B12,">="&0)>2,SUM(B9:B12)/4,"No valid data") |
12 | 768 | =IF(COUNTIF(B10:B13,">="&0)>2,SUM(B10:B13)/4,"No valid data") |
13 | 9987 | =IF(COUNTIF(B11:B14,">="&0)>2,SUM(B11:B14)/4,"No valid data") |
14 | 657876 | =IF(COUNTIF(B12:B15,">="&0)>2,SUM(B12:B15)/4,"No valid data") |
15 | 67766 | =IF(COUNTIF(B13:B16,">="&0)>2,SUM(B13:B16)/4,"No valid data") |
16 | 67576 | =IF(COUNTIF(B14:B17,">="&0)>2,SUM(B14:B17)/4,"No valid data") |
17 | No valid data | =IF(COUNTIF(B15:B18,">="&0)>2,SUM(B15:B18)/4,"No valid data") |
18 | No Valid Data | =IF(COUNTIF(B16:B19,">="&0)>2,SUM(B16:B19)/4,"No valid data") |
19 | 90832 | =IF(COUNTIF(B17:B20,">="&0)>2,SUM(B17:B20)/4,"No valid data") |
20 | 98992 | =IF(COUNTIF(B18:B21,">="&0)>2,SUM(B18:B21)/4,"No valid data") |
21 | 794567 | =IF(COUNTIF(B19:B22,">="&0)>2,SUM(B19:B22)/4,"No valid data") |
22 | 65398 | =IF(COUNTIF(B20:B23,">="&0)>2,SUM(B20:B23)/4,"No valid data") |
23 | 345 | =IF(COUNTIF(B21:B24,">="&0)>2,SUM(B21:B24)/4,"No valid data") |
24 | 21 | =IF(COUNTIF(B22:B25,">="&0)>2,SUM(B22:B25)/4,"No valid data") |
Assuming the data values to be in cells B2:B25 put the following formula into cell C4 and copy down: =IF(COUNT(B1:B4)>=3,SUM(B1:B4)/4,"")
Let us know if you have any questions.
本文标签: Excel AVERAGEIF formula logicStack Overflow
版权声明:本文标题:Excel AVERAGEIF formula logic - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741412031a2377292.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论