求基于D13数值的Excel高亮单元格众数计算公式
Excel 高亮单元格众数计算方案
根据你的需求,以下是不同Excel版本的公式解决方案,可实现根据D13的数值取H3开始的对应行数,计算其众数并返回至C13:
适用于Excel 365/2021(支持动态数组)
如果目标单元格是文本类型(如你例子中的B、A),直接用这个公式:
=XMODE.SNGL(H3:INDEX(H:H, 3 + D13 - 1))
要是XMODE.SNGL函数不可用,换这个兼容写法:
=TAKE(MODE.MULT(H3:INDEX(H:H, 3 + D13 - 1)), 1)
想处理无众数的错误提示,用带IFERROR的版本:
=IFERROR(XMODE.SNGL(H3:INDEX(H:H, 3 + D13 - 1)), "无众数")
适用于旧版Excel(无动态数组支持)
针对文本类型数据,输入以下公式后需按 Ctrl+Shift+Enter 确认(数组公式专属操作):
=INDEX(H3:INDEX(H:H, 3 + D13 - 1), MATCH(MAX(COUNTIF(H3:INDEX(H:H, 3 + D13 - 1), H3:INDEX(H:H, 3 + D13 - 1))), COUNTIF(H3:INDEX(H:H, 3 + D13 - 1), H3:INDEX(H:H, 3 + D13 - 1)), 0))
添加错误处理的版本:
=IFERROR(INDEX(H3:INDEX(H:H, 3 + D13 - 1), MATCH(MAX(COUNTIF(H3:INDEX(H:H, 3 + D13 - 1), H3:INDEX(H:H, 3 + D13 - 1))), COUNTIF(H3:INDEX(H:H, 3 + D13 - 1), H3:INDEX(H:H, 3 + D13 - 1)), 0)), "无众数")
公式逻辑说明
INDEX(H:H, 3 + D13 - 1):根据D13的数值动态锁定范围终点,比如D13=3时,会定位到H5,最终计算范围就是H3:H5。XMODE.SNGL:Excel 365新增函数,支持数值、文本的众数计算,返回第一个出现的众数。- 旧版数组公式:用
COUNTIF统计每个值的出现次数,MAX找出最高次数,MATCH定位首次出现该次数的位置,最后用INDEX返回对应值。
内容的提问来源于stack exchange,提问作者StudentOfLife
相关产品推荐
相关产品推荐

