求表格中相同Reference对应Value列最大值的Max列公式
示例数据
| Reference | Value | Max |
|---|---|---|
| 1 | 200 | 200 |
| 2 | 300 | 500 |
| 1 | 100 | 200 |
| 2 | 500 | 500 |
可行方案
以下方案默认表格表头在第1行,Reference列为A列、Value列为B列、Max列为C列,数据范围为第2行到第5行,可根据自己的实际表格调整参数。
1. Excel 2019/365、Google Sheets 适用(优先用)
直接使用MAXIFS即可,之前调用失败大概率是版本不兼容或参数顺序错误,正确写法为C2单元格输入:=MAXIFS(B:B, A:A, A2)
写完直接下拉填充全列即可。
MAXIFS参数规则:第一个参数是要计算最大值的数值区域,第二个参数是条件匹配区域,第三个参数是匹配的目标值。
2. 兼容所有Excel旧版本
如果是2016及更早版本的Excel,不支持MAXIFS,改用数组公式即可,C2单元格输入:=MAX(IF(A:A=A2, B:B, 0))
输入完成后按Ctrl+Shift+Enter触发数组公式计算,再下拉填充全列即可,Excel 365版本不需要按组合键直接回车即可生效。
3. 无公式方案
如果不需要公式实时联动,也可以通过数据透视表快速实现:
- 插入数据透视表,行区域添加
Reference字段,值区域添加Value字段,值汇总方式设置为最大值 - 再用
VLOOKUP函数把透视表计算出的最大值匹配回原表对应行即可
内容的提问来源于stack exchange,提问作者Ivan the Smurf
相关产品推荐
相关产品推荐

