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

如何用Excel公式按B列分组标记C列最大值(T/TE)?

Excel按B列分组标记C列最大值的公式实现

需求说明

基于A1:C15的表格数据,在D列按B列分组执行以下标记规则:

  • 若当前行C值为分组内严格唯一最大值,标记为T
  • 若当前行C值为分组内最大值但存在重复的最大值,标记为TE
  • 非分组最大值的单元格留空

原始数据

1 1 36
1 2 24
1 3 18

2 1 20
2 2 20
2 3 20

3 1 36
3 2 18
3 3 17

4 1 15
4 2 15
4 3 21

公式实现

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

在D1单元格输入以下公式,自动填充整个D列:

=BYROW(C1:C15,LAMBDA(x,LET(
    group_max, MAXIFS(C:C, B:B, B1),
    max_count, COUNTIFS(B:B, B1, C:C, group_max),
    IF(x=group_max, IF(max_count>1, "TE", "T"), "")
)))
  • 逻辑说明:用BYROW遍历每行C值,通过LET简化变量定义,先计算当前B组的最大值及最大值出现次数,再根据规则返回对应标记。

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

在D1单元格输入以下公式,手动下拉填充至D15:

=IF(C1=MAXIFS($C$1:$C$15,$B$1:$B$15,B1),IF(COUNTIFS($B$1:$B$15,B1,$C$1:$C$15,MAXIFS($C$1:$C$15,$B$1:$B$15,B1))>1,"TE","T"),"")
  • 逻辑说明:先判断当前C值是否为B组最大值,再统计该最大值在组内的出现次数,根据次数判断返回TE或T,非最大值则留空。

验证结果

最终D列输出符合预期:

1 1 36 TE
1 2 24 T
1 3 18

2 1 20
2 2 20
2 3 20

3 1 36 TE
3 2 18
3 3 17

4 1 15
4 2 15
4 3 21 T

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:52:55