本帖最后由 客都梅州 于 2021-12-2 19:43 编辑
因此次竞赛007版主有参赛,故申请云南大理版主来根据下图评分表对各位选手进行评分。特此申请。
总结:
此题思路切入准确应该算是较为容易的,如果从一个整体去判断,会较为繁琐,故普遍采用自上而下引用法来解答。
可以分三步走:
1.判断准考证号应该为0:COUNTIF(O$1:O1,E$2:E75)=0
2.判断人数应该小于总人数的一半;
3.判断人数应该小于总人数。
2.3总和就是SUMIF(H$2:H4,D$2:D75,I$2:I4)/{2,1}>COUNTIFS(M$1:M1,IF({1,0},C$2:C75,"*"),N$1:N1,D$2:D75)
其中:较有技巧性的做法为007版主的大于小于号法:
COUNTIFS(M$1:M1,{"><",""}&C$2:C75,N$1:N1,D$2:D75)
但是cinlo老师把OFFSET函数加入到COUNTIFS中,把三个部分整合到一起,使得更为简洁
COUNTIFS(N$1:N1,D$2:D75,OFFSET(M$1:M1,,{0,1,2}),C$2:E75)
接下来是普遍采用FREQUENCY判断最大值所处的行号
与此同时,丢丢表格等老师利用
IF(J1:O1=0,A2,A$2:F77)及FREQUENCY函数返回的值比INDEX范围多一行产生的错误,较为巧妙的
解决了第一列的序号问题以及多余部分返回空值的问题。
最后,综合各要点给上最佳答案,供大家参考。
- =IFERROR(INDEX(IF(J1:O1=0,A2,A$2:F75),MATCH(1,FREQUENCY(2,MMULT(N(COUNTIFS(N$1:N1,D$2:D75,OFFSET(M$1:M1,,{0,1,2}),C$2:E75)<SUMIF(H$2:H4,D$2:D75,I$2)/{2,1,99}),{1;1;1})-F$2:F75%),)),"")
复制代码 再次,衷心的感谢各位朋友的捧场,谢谢您们为此题付出的精力,为广大坛友献上了精彩纷呈的答案,论坛有你们更精彩。
|