如下樣表,要求不改變現有排序的情況下,計算出每位員工在自己組內的排名:
SUMPRODUCT函數簡介
功能:
在給定的幾組數組中,將數組間對應的元素相乘,并返回乘積之和;
用法:
SUMPRODUCT(array1, [array2], [array3], …)
中文語法:
SUMPRODUCT(其相應元素需要進行相乘并求和的第一個數組參數, [其相應元素需要進行相乘并求和的第二個數組參數], [其相應元素需要進行相乘并求和的第三個數組參數], …)
本示例解析
=SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2))
($C$2:$C$14=C2):
在C2:C14區域的 每一個單元格與C2相比較,如果相等返回TRUE,否則返回FALSE。本部分返回數組:
{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}(數組一)
($D$2:$D$14>=D2):
在D2:D14區域的 每一個單元格與D2相比較,如果大于或等于D2返回TRUE,否則返回FALSE。本部分返回數組:
{TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE ;FALSE }(數組二)
SUMPRODUCT(($C$2:$C$14=C2)*($D$2:$D$14>=D2)):
以上兩個參數得到的(數組一)與(數組二)對應位置的數據相乘然后加和。TURE相當于1,FALSE相當于0,兩數組對應位置數據相乘,可得A組大于等于D2的數值個數,即是D2在A組內的排序。