1、首先使用Excel新建一个表格文件,在表格中输入数据。
2、然后选中单元格H1,设置H1单元格的值为”=MATCH(MAX(A1:G1),A1:G1,0)“。
3、再按下ctrl+shift+Enter组合键,即可在H1单元格中,自动找出该行数据最大值所对应的列的列标值。
EXCEL中返回同行最大值所在的列,可使用MATCH函数或LOOKUP函数:
如下图,在H1中输入公式:=MATCH(MAX(A1:G1),A1:G1,0),即可返回最大值所在列的列标值为6(即F列);
但是MATCH函数返回的是查找值在一组数中的次序,如果数据区域不是从A列开始的,前面空几列,就要在后面加几,如下图,公式改为:=MATCH(MAX(C1:I1),C1:I1,0)+2;
使用LOOKUP函数不受前面空列的影响:=LOOKUP(1,0/(MAX(C1:I1)=C1:I1),COLUMN(C1:I1)),该公式直接返回的列标值,而不是次序,所以后面不要加空列数;
需要注意的是,MATCH函数是返回的第一个满足条件的次序,所以最大值有多个时,该公式总是返回的第一个列标值;
而LOOKUP是向后兼容性,有多个最大值时。总是返回最后一个符合条件的值。
找到max值后。
用match函数。
例如:
=MATCH(F17,H16:H27,1)
f17就是你的Max值
H16:H27是你的数组列表
自己动动脑筋吧。
lookup函数需要数组已经排序的。match函数不用。
假设你有A到E列,在F列中输入公式:
=ADDRESS(ROW(),MATCH(MAX(A1:E1),A1:E1,0))
MAX(A1:E1)取第一行A到E列中最大值,
MATCH(MAX(A1:E1),A1:E1,0)返回第一行中最大值所在列的列号
ROW()返回当前行号
ADDRESS(ROW(),MATCH(MAX(A1:E1),A1:E1,0))返回第一行中最大值的所在单元格的地址
以下各行把公式往下拉就行了。
如果只要列,再加一个函数=MID(ADDRESS(ROW(),MATCH(MAX(A9:E9),A9:E9,0)),2,1)
按你举的例子,在1、2行,假如共有7列(G列)数据,而有一个最大值是在B3单元格的。
那你就在行最后单元格中(反正你想要放的位置)输入以下公式(注意把范围选对啊),
=MID(ADDRESS(ROW(),LOOKUP(1,0/(MAX(A1:G2)=A1:G2),COLUMN(A1:G2))),2,1)
自动得出结果B。就是显示最大值所属B列。
顺带一提,=ADDRESS(ROW(),LOOKUP(1,0/(MAX(A1:G2)=A1:G2),COLUMN(A1:G2)))就是最大值所在的单元格地址。
(要感谢楼里两个大神的答案,我把他们的综合了一下,得出你想要的效果了。)