Excel如何自动统计某一列中指定人的文本值出现频率最高的那个?

比如:A列是小明,小黄,小红,B列是他们统计一个月的最喜欢的运动节目,篮球,足球,乒乓球等等,怎么通过函数自动统计出小明在这个月中最喜欢的运动节目。举个例子就是小明在4月全月共填了20次篮球,13次足球,15次乒乓球,29次羽毛球,我怎么样通过函数让他每天填写完就能自动出现截至当前出现最多的那个文本,比如目前小明这出现最多的是羽毛球。
【已添加图片】请大神帮帮忙

C2输入

=INDEX(C$8:C$100,MOD(MAX(COUNTIFS(B$8:B$100,B2,C$8:C$100,IF(B$8:B$100=B2,C$8:C$100))*10^5+ROW($1:$93)),10^5))

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。

但有个问题,当C列(运动节目)个数相同时,程序会选择最下面的作为众数。

追问

*10^5+ROW($1:$93)),10^5))麻烦能给我再讲一下这部分代表的意思吗?我套用了以后这部分不对,返回的数据不对

追答

*10^5+ROW($1:$93)),10^5))

*10^5——100,000,公式求众数,乘以100,000把数据扩大以求精确,数值越大,精确度越高。你的数据不够100行,用*100也行。

ROW($1:$93))——也就是要返回的区域C$8:C$100,从第1行起的行数。

,10^5——用余数函数MOD(),被除数(前面参数)扩大多少倍,除数就按多少倍。

我的抓图都出来了,怎么会不对?

追问

不好意思,可能我没表述清楚,不是这个模板不对,是我套用到另一个文件的时候不对了,麻烦你能再帮我看下嘛

追答

把你的文档发到我的126信箱来吧,前辍就是我的ID名。
收到!
1、你引用的列区域是18~500,后面参数引用的行号就应该是ROW($1:$483)。
2、你E列的D~I对应的AK列都没有数据,只能返回0值。
修改好发给你了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-12

如图,C2公式:

=INDEX({"A","B","C","D"},MATCH(MAX(COUNTIFS($B$8:$B$1000,B2,$C$8:$C$1000,{"A","B","C","D"})),COUNTIFS($B$8:$B$1000,B2,$C$8:$C$1000,{"A","B","C","D"}),))

下拉(注:如果喜欢的项目最多数有并列时将默认选择运动项目"A","B","C","D"中最前面的)

第2个回答  2019-04-11

辅助列C2=IF(A2=$D$2,SUMPRODUCT(($A$2:$A$13=$D$2)*($B$2:$B$13=B2)),"")

下拉

第3个回答  2019-04-11
建议上表,带行列号,数据现状以及达到的效果,你光叙述像讲故事一样,别人怎么回答你,连表都没有怎么写公式本回答被网友采纳
第4个回答  2019-04-12
powerquery实时更新查询
相似回答