我有一个包含数字和参考列的列。我正在尝试将数字列分为第一个,第二个第三个和第三个,并取每个的平均值。
Values Ref column
1.7 cow
2.3 cow
2.6 cow
1.8 sheep
1.3 sheep
2.2 sheep
1.5 sheep
1.2 sheep
2.3 sheep
1.5 goose
2.5 goose
因此,例如,“绵羊”,第二个和最后两个的前两个值的平均值。换句话说,我想取“羊”附近每1/3细胞的平均值。
答案 0 :(得分:0)
添加一列来累计计算您正在查看的单词的实例,然后在AVERAGE
中检查该行号。
=CountIf($B$2:$B2, $B2)
并填写=>值应为{1,2,3,1,2,3,4,5,6,1,2}
sheep
=CountIf($B:$B, $E$1)
=> 6
{=Average(If(($B:$B = $E$1) * ($C:$C <= $E$2 / 3), $A:$A))}
(请注意,这是一个数组公式,由它周围的{}
指定)=&gt; 1.55
{=Average(If(($B:$B = $E$1) * ($C:$C > $E$2 / 3) * ($C:$C <= 2 * $E$2 / 3), $A:$A))}
=&gt; 1.85
{=Average(If(($B:$B = $E$1) * ($C:$C > 2 * $E$2 / 3), $A:$A))}
=&gt; 1.75
如果我没记错的话,数组公式输入与普通公式相同(不包括自动输入的{}
),但按 Ctrl (可能完成后, Shift 与 Enter 。
注意 - 这些看整个专栏。您可以将$A:$A
更改为$A$2:$A$12
(同样适用于$B:$B
和$C:$C
)来加快速度。请记住,对于您追加到此列表的任何数据,您需要更新公式;但是你可以将数据插入到列表的中间,它会自动更新它们。
答案 1 :(得分:0)
假设有 7个绵羊值并且您想要进行加权平均值(例如,第一个平均值将从前两个绵羊加上第三个绵羊的三分之一计算)?
我尝试了一种通用的解决方案,将任意数量的动物分成任意数量的分数并找到它们的平均值。我的方法是使用@Barry Houdini中使用here的优雅重叠公式,计算出间隔之间的重叠(在7只动物的情况下分为3个):
0 to 2.33
2.33 to 4.67
4.67 to 7
和动物的数量
0 to 1
1 to 2
2 to 3
等等。
在H4
=IF(ROWS($1:1)<=$H$2,ROWS($1:1)/$H$2*COUNTIF(B$2:B$16,$G$2),"")
在G4中
=IF(H4="","",H4-COUNTIF(B$2:B$16,$G$2)/$H$2)
I4中的主要公式是
=IF(H4="","",SUM(TEXT(IF(C$2:C$16<H4,C$2:C$16,H4)-IF((C$2:C$16-1)>G4,C$2:C$16-1,G4),"general;\0")
*A$2:A$16*(B$2:B$16=$G$2))/(COUNTIF(B$2:B$16,$G$2)/$H$2))
作为数组公式输入。
通过更改H2中的数字,可以将分数更改为一半,四分之一。