Excel技术需求:计算匹配选项ID的数值总和,输出最小结果(排除非选项)
Excel动态计算选项ID数值总和并筛选最小值方案
方法一:Power Query(推荐,适配未知数量的ID)
适用于所有Excel版本,能自动处理动态变化的ID列表,步骤如下:
- 导入数据:选中数据区域(数值列+ID列),点击「数据」→「从表格/范围」,确认表格导入设置。
- 清洗无效ID:点击ID列的筛选按钮,取消勾选
x、-、空白值,仅保留目标选项ID(如示例中以O开头的ID)。 - 分组求和:点击「转换」→「分组依据」,设置分组列为ID,操作选「求和」,目标列为数值列,生成每个ID的总和。
- 筛选最小值:按「总和」列升序排序,首行即为总和最小的ID及对应数值,最后点击「关闭并上载」导出结果。
方法二:动态数组公式(Excel 365/2021及以上)
假设数值在A2:A8,ID在B2:B8,直接用公式实现:
- 提取唯一有效ID:在空白单元格输入
自动生成去重后的有效ID列表。=UNIQUE(FILTER(B2:B8,(LEFT(B2:B8,1)="O")*(B2:B8<>""))) - 计算每个ID的总和:在相邻单元格输入
这里=SUMIFS(A:A,B:B,D2#)D2#引用上一步的动态ID列表,自动计算对应总和。 - 获取最小总和及对应ID
- 最小总和:
=MIN(E2#) - 对应ID:
=INDEX(D2#,MATCH(MIN(E2#),E2#,0))
- 最小总和:
注意事项
- 若有效ID的规则不是以
O开头,需调整FILTER函数的条件(比如用ISNUMBER(SEARCH("O",B2:B8))匹配包含O的ID)。 - 旧版Excel无法使用动态数组,建议优先用Power Query方案。
内容的提问来源于stack exchange,提问作者Elvin Ibishli
相关产品推荐
相关产品推荐

