假设我有一列 10 个数字,我想知道每个数字与其他数字(除了它本身)之和的平均值是多少。因此,它将是 A1+A2、A1+A3....、A8+A10、A9+A10 之和的平均值。
最快的方法是什么?我目前的方法是修复一个单元格常数并遍历其他每个单元格,这似乎非常繁琐。我发现的另一种更好的方法是创建一个表,使用相对引用循环遍历每个单元格。但是有没有办法在一个单元格中做到这一点?
答案1
在顶部插入一行并将数字转置到该行。然后使用IF
语句可以创建所有总和的矩阵。
将此公式放在单元格 B2 中并将其复制到矩阵的底角。
=IF($A2=B$1, "", $A2+B$1)
结果...
答案2
我相信这只是(再次假设值在 A2:A9 中):
=2*SUM(A2:A9)/COUNT(A2:A9)
从数学上来说,例如:
((a+b)+(a+c)+(a+d)+(b+c)+(b+d)+(c+d))/6
等于:
(3a+3b+3c+3d)/6
即:
3(a+b+c+d)/6
IE:
(a+b+c+d)/2
问候
答案3
要获得每对数字之和的平均值(每个数字与其自身除外),你可以使用一个公式来做到这一点,如果你重新创建查理RB公式中的转置表如下:
=AVERAGE(IF(ROW(A2:A9)>TRANSPOSE(ROW(A2:A9)),A2:A9+TRANSPOSE(A2:A9)))
已确认CTRL++SHIFTENTER
因此,TRANSPOSE(A2:A9)
它会给出转置列,然后A2:A9+TRANSPOSE(A2:A9)
给出每个可能对之和的矩阵。该IF
函数排除“反转对”(例如,A5+A4
因为A4+A5
已经包括在内而排除)以及每个数字与其自身相加的对,然后AVERAGE
函数会给出所需的结果
如果范围是一行数据而不是一列,那么您需要使用 2 xCOLUMN
函数代替ROW
函数
注意:排除的对仅具体每个细胞,这并不排除两个相等数字相加的可能性,所以如果 A2 = A7 那么你仍然有A2+A7
包含的对(但不是A2+A2
或A7+A7
或反转的A7+A2
)