Jan在工作表中的A列中列出了年龄。年龄从1开始,一直到100。在B列中,她列出了每个年龄段的人数。 Jan需要一个公式来告诉她这群人的中位数年龄。

乍一看,您可能会认为可以使用MEDIAN函数来计算中位数。如果您有一个简单的值列表,则该功能非常有用。例如,如果您仅计算年龄的中位数,则MEDIAN可以正常工作。但是,在Jan的情况下,她需要的是人们年龄的中位数,而不是年龄本身的中位数。换句话说,中位数需要通过每个年龄段的人数来加权。 MEDIAN函数无法处理此类要求。

应该指出的是,中位数年龄将不同于一群人的平均年龄。通过将年龄乘以每个年龄的人数,可以很容易地计算出平均值。例如,在C列中,您可以放置​​一个公式,例如= A1 * B1,然后将其复制到该列中。将B和C列中的值相加,然后将C列中的总和除以B列中的总和。结果是人员列表的平均年龄。

另一方面,中位年龄是一半的人低于该年龄而另一半的人高于该年龄的年龄。年龄中位数最好使用数组公式来计算,例如:

=MATCH(SUM($B$1:$B$100)/2,SUMIF($A$1:$A$100, "<="&$A$1:$A$100,$B$1:$B$100))

这是一个单一公式,可以通过按Ctrl + Shift + Enter输入。公式中的SUMIF函数用于生成一个数组,该数组包含小于或等于每个年龄段的累计人数。公式的SUM部分给出年龄总频率的中点。然后使用MATCH函数在累积频率数组中查找中点值。这会在初始数组中产生一个“索引号”,并且由于该数组由1至100的所有年龄组成,因此该索引号匹配项等于中位数年龄。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(10595)适用于Microsoft Excel 2007、2010、2013、2016、2019和Office 365中的Excel。