問題情境
如下樣表,記錄了每個人的得票情況:
公式解析
MATCH(B$2:B$16,B$2:B$16,):
在B2:B16區域,依次匹配B2:B16單元格中每一位姓名出現的位置。MATCH函數匹配位置,只能匹配第一次出現時的位置,比如“王一”,雖然出現在第1、6、7、11、13位上,但MATCHA的返回值都是1,所以本部分返回的是各個姓名第一次出現位置的數組:
{1;2;2;4;4;1;1;2;9;2;1;9;1;2;10}
MODE.MULT(MATCH(B$2:B$16,B$2:B$16,):
MODE.MULT計算出現最多的位次,即{1;2};
SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1)):
因為有兩個出現最多的位次,所以在D2顯示ROW(A1)即第一個位次的姓名,D3顯示ROW(A2)即第二個位次的姓名;
INDEX(B$2:B$16,SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1))):
用INDEX函數顯示B2:B16區域中對應位次的姓名;
IFERROR(INDEX(B$2:B$16,SMALL(MODE.MULT(MATCH(B$2:B$16,B$2:B$16,)),ROW(A1))),””):
屏蔽錯誤值,當公式下拉到D4級以后,再沒有得票最多姓名時出現空值。