如何查找与每行最小值对应的列标题(附示例)
实现每行最小值对应列标题的方法
根据你的需求,这里提供两种适用于不同Excel版本的解决方案:
普通Excel版本(非365/2021)
假设你的数据区域是B2:D10,列标题在B1:D1,要在E2单元格生成对应结果,输入以下公式后下拉填充即可:
=INDEX($B$1:$D$1,MATCH(MIN(B2:D2),B2:D2,0))
公式说明:
MIN(B2:D2):提取当前行的最小值MATCH(...,B2:D2,0):找到最小值在当前行的位置INDEX($B$1:$D$1,...):根据位置返回对应的列标题
Excel 365/2021版本(支持动态数组)
直接在结果列的第一个单元格(比如E2)输入以下公式,会自动生成所有行的结果,无需下拉:
=BYROW(B2:D10,LAMBDA(row,INDEX($B$1:$D$1,MATCH(MIN(row),row,0))))
公式说明:
BYROW(B2:D10,LAMBDA(row,...)):遍历数据区域的每一行- 内部逻辑和普通版本一致,自动批量处理所有行
注意事项
- 确保列标题区域和数据区域的列数完全对应
- 如果一行中有多个相同的最小值,公式会返回第一个出现的对应列标题
- 空白单元格会被
MIN函数忽略,不影响结果计算
内容的提问来源于stack exchange,提问作者S L
相关产品推荐
相关产品推荐

