=MOD(-LARGE(COUNTIF($B2:$D6,ROW($1:$9))*10-ROW($1:$9),COLUMN(A1)),10) 本来是想对1~9在进行出现次数由多到少的排列,但我想不通为什么会用MOD函数!如果换成是1~22,我把“$9”改成“$22”,这样算下来的结果却不对了,这是为什么呢?希望高手帮帮小弟!

问题描述:

=MOD(-LARGE(COUNTIF($B2:$D6,ROW($1:$9))*10-ROW($1:$9),COLUMN(A1)),10)
本来是想对1~9在进行出现次数由多到少的排列,但我想不通为什么会用MOD函数!
如果换成是1~22,我把“$9”改成“$22”,这样算下来的结果却不对了,这是为什么呢?
希望高手帮帮小弟!

1、这个公式就是1-9在$B2:$D6区域出现的次数的排序.是数组函数,按CTRL+SHIFT+ENTER,然后下拉公式.就可以得到出现次数最多的数字从小到大的排序(1-9).
2、公式似乎有点小错误,应该是$B$2:$D$6,当然,如果本来的意思是统计区域要变的话就不用改了.
3、ROW($1:$9)是用来表示一个1到9的数组,你改了当然不行.
4、用MOD的意思是这样的,如果在$B2:$D6区域出现的次数最多的是4,不管次数是多少,假设为M次,上面的数组函数COUNTIF($B2:$D6,ROW($1:$9))*10-ROW($1:$9)=10*M-4,取负MOD 10后一定就是4.
注:如果要统计0-9出现次数的排序,公式改为:
=MOD(-LARGE(COUNTIF($B$2:$D$6,MOD(ROW($1:$10),10))*10-ROW($1:$10),ROW(A1)),10)