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

Excel公式需求:查找交替列最小值对应的列名

解决方法:根据指定非连续列的最小值返回对应列标题

需求说明

需要实现:

  • result1:返回col1、col3、col5三列中数值最小的单元格对应的列标题
  • result2:返回col2、col4、col6三列中数值最小的单元格对应的列标题

示例表格(对应Excel列:A列为x,BG列为col1col6,H列为result1,I列为result2):

xcol1col2col3col4col5col6result1result2
row 1185484326134col1col4
row 2681189541658col3col2

错误原因

你之前修改的公式错误在于:直接将零散单元格作为INDEX和MIN的参数,不符合Excel函数语法——INDEX的区域参数需要是连续区域或可组合成数组的引用,MIN也需要接收区域/数组而非单个单元格的罗列。

正确公式

根据你的Excel版本,选择对应公式:

情况1:Excel 365/2021(支持动态数组)

  • result1(H2单元格):

    =INDEX({B1,D1,F1},MATCH(MIN(B2,D2,F2),{B2,D2,F2},0))
    

    或用CHOOSE函数(方便后续修改列):

    =INDEX(CHOOSE({1,2,3},B1,D1,F1),MATCH(MIN(CHOOSE({1,2,3},B2,D2,F2)),CHOOSE({1,2,3},B2,D2,F2),0))
    
  • result2(I2单元格):

    =INDEX({C1,E1,G1},MATCH(MIN(C2,E2,G2),{C2,E2,G2},0))
    

    对应CHOOSE版本:

    =INDEX(CHOOSE({1,2,3},C1,E1,G1),MATCH(MIN(CHOOSE({1,2,3},C2,E2,G2)),CHOOSE({1,2,3},C2,E2,G2),0))
    

情况2:旧版Excel(需按Ctrl+Shift+Enter作为数组公式输入)

  • result1(H2单元格):

    =INDEX(B1:F1,1,MATCH(MIN(IF(MOD(COLUMN(B1:F1)-COLUMN(B1),2)=0,B2:F2)),B2:F2,0))
    

    原理:用MOD(COLUMN(...)-COLUMN(B1),2)=0筛选出奇数位的列(col1、col3、col5对应B、D、F列),再取最小值匹配对应列标题。

  • result2(I2单元格):

    =INDEX(C1:G1,1,MATCH(MIN(IF(MOD(COLUMN(C1:G1)-COLUMN(C1),2)=0,C2:G2)),C2:G2,0))
    

    原理:筛选出偶数位的列(col2、col4、col6对应C、E、G列),再取最小值匹配对应列标题。

公式说明

  • INDEX(区域, 行号, 列号):根据行号和列号返回区域内的单元格值
  • MIN(数组/区域):返回数组或区域中的最小值
  • MATCH(查找值, 查找区域, 匹配类型):返回查找值在区域中的位置
  • CHOOSE(索引数组, 引用1, 引用2, ...):将多个零散引用组合成一个数组,适配INDEX和MIN的参数要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 01:30:14