在excel2007中的某些情況下,可能需要對區域內的n個最大值求和——例如,最大的10個值。如果數據在表格中,可以利用自動篩選只顯示最大的10 行,并隱藏其他所有行,然后在表格合計行中顯示所有可視數據之和。
另一種方法是將區域按降序排列,然后使用SUM函數對排序后的區域內前n個值求和。
更好的解決方式是使用如下的數組公式,不再需要通過表格或排序:
{=SUM(LARGE(Data,{1,2,3,4,5,6,7,8,9,10}))}
這個公式對區域Data內最大的10個值求和,若要求最小的10個值之和,就用SMALL函數代替LARGE函數:
{=SUM(SMALL(Data,{1,2,3,4,5,6,7,8,9,10}))}
這些公式使用常量數組作為LARGE或SMALL函數的參數。如果需要計算的n值比較大,最好使用以下的變形,這個公式返回Data區域內最大的30個值之和。當然可以把30替換成其他值。
{=SUM(LARGE(Data,ROW(INDIRECT("1:30"))))}