Excel:如何计算动态字符串矩阵的众数?
多列动态矩阵的字符串众数求解方案
针对你遇到的动态多列矩阵求字符串众数的问题,分两种Excel版本给出实用解法:
一、Excel 365/2021(支持动态数组)
直接用TOCOL函数将多列矩阵转为动态单列,再结合你原本的公式逻辑即可,新增行时会自动更新结果:
=INDEX(TOCOL(rng),MODE(MATCH(TOCOL(rng),TOCOL(rng),0)))
- 把
rng替换成你的矩阵范围,比如如果数据在结构化表格中,用Table1[列1]:Table1[列3],新增行时表格会自动扩展范围,无需手动修改公式。 TOCOL会自动忽略空单元格,无需额外处理。
二、旧版Excel(不支持动态数组)
使用数组公式(输入时需按Ctrl+Shift+Enter确认),直接处理矩阵范围:
=INDEX(rng,MODE(IF(rng<>"",MATCH(rng,rng,0))))
或者用统计频率的方式找众数:
=INDEX(rng,MATCH(MAX(COUNTIF(rng,rng)),COUNTIF(rng,rng),0))
- 同样建议将数据转为结构化表格(Ctrl+T),确保新增行自动纳入计算范围。
- 第一个公式里的
IF(rng<>"",...)用于排除空单元格对结果的干扰。
内容的提问来源于stack exchange,提问作者infinitedreamer666
相关产品推荐
相关产品推荐

