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

如何在Excel中按人员及历史记录条件计算分数列的最小/最大值?

Excel按人员计算历史分数极值的解决方案

为什么你的公式会报错?

你用的= MIN(IF(AND(C:C=$C2, A:A<$A2),D:D))里,AND()函数不支持数组运算——它没法同时对整列的每个单元格逐一判断两个条件,这才导致报错。得用**逻辑乘(*)**替代AND(),才能实现多条件的数组筛选。

可自动填充的有效公式

假设你的数据表头在第1行:A列=DATE、C列=NAME、D列=SCORE,公式从第2行开始输入:

1. 历史最小值(MIN列)

=IF(COUNTIF($C$2:$C2,$C2)=1,NA(),MIN(IF(($C:$C=$C2)*($A:$A<$A2),$D:$D)))
  • 旧版Excel(2019及更早)输完公式后,必须按 Ctrl+Shift+Enter 触发数组计算;新版Excel(365/2021)直接回车就行,会自动识别动态数组。
  • 逻辑说明:先用COUNTIF($C$2:$C2,$C2)判断当前行是不是该人员的第一条记录,是就返回NA();否则用($C:$C=$C2)*($A:$A<$A2)筛选出同姓名且日期更早的所有记录,再取对应分数的最小值。

2. 历史最大值(MAX列)

把上面公式里的MIN换成MAX即可:

=IF(COUNTIF($C$2:$C2,$C2)=1,NA(),MAX(IF(($C:$C=$C2)*($A:$A<$A2),$D:$D)))

实用优化建议

  • 别用整列引用(比如C:C),换成实际的数据范围(比如数据到第13行就写$C$2:$C$13),能大幅提升计算速度,避免Excel白忙活遍历空单元格。
  • 确保DATE列是标准日期格式,不然日期比较会出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:15:33