You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel按行求B-F列众数并按双规则处理平局的公式需求

Excel 计算带优先级规则的众数方案

嘿,针对你需要计算每行B-F列众数,且平局时按规则取值的需求,我整理了两个实用公式,分别适配不同版本的Excel:

方案1:适配Excel 365/2021(支持动态数组)

这个公式用LET函数简化了逻辑,可读性和维护性都更好:

=LET(
    data, B2:F2,
    unique_vals, UNIQUE(data),
    counts, FREQUENCY(data, unique_vals),
    max_count, MAX(counts),
    top_candidates, FILTER(unique_vals, counts=max_count),
    IF(ISNUMBER(XMATCH(4, top_candidates)), 4, G2)
)

公式拆解:

  • data, B2:F2:把当前行的目标区域定义为变量data,避免重复引用
  • unique_vals, UNIQUE(data):提取B-F列的所有唯一值
  • counts, FREQUENCY(data, unique_vals):计算每个唯一值的出现次数
  • max_count, MAX(counts):找出出现次数的最大值
  • top_candidates, FILTER(unique_vals, counts=max_count):筛选出所有出现次数等于最大值的候选值
  • 最后判断候选值里是否包含4:如果是就返回4,否则取G列的值

方案2:适配旧版Excel(不支持动态数组)

如果你的Excel版本比较老,用这个数组公式(输入后按Ctrl+Shift+Enter确认):

=IF(COUNTIF(B2:F2,4)=MAX(COUNTIF(B2:F2,B2:F2)),4,IF(SUM(--(COUNTIF(B2:F2,B2:F2)=MAX(COUNTIF(B2:F2,B2:F2))))>1,G2,MODE(B2:F2)))

公式拆解:

  1. 首先检查数字4的出现次数是否等于最大出现次数:如果是,直接返回4
  2. 如果不是,统计有多少个值的出现次数等于最大值:
    • 若数量>1(说明平局且4没参与),返回G列的值
    • 若数量=1,返回常规的众数结果

注意事项:

  • 如果B-F列存在空白单元格,你可以在公式里加入B2:F2<>""的条件来排除空白值的干扰,比如把方案1里的data改成FILTER(B2:F2,B2:F2<>"")

内容的提问来源于stack exchange,提问作者Stenner93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:00:41