作者:乔山办公网日期:
返回目录:excel表格制作
假如是i行:
cells(i,columns.count).end(xltoletf).column
1 返回按下ctrl+end后选中的单元格所在列的列复号.
2 返回使用过的区域的列数.
如果A列有制单元格使用过且没有隐藏列的情况下,它和1返回的结果一致,否则就可百能不一致.
3 返回从A4按下ctrl+ →选中的单元格所度在的列号问. 这种很少用到.常用的是用range("iv4").end(xltoleft).column 返回从IV4按ctrl+ ←选中的单元格(最后一个有数据的可见单答元格)的列号
你的最大值有2个相同的,不能识别啊。给你提供一个公式,此公式只能用于最大值不能有2个,最大值只能有一个唯一值:=INDEX($B$1:$E$1,MATCH(MAX(B2:E2),B2:E2,0))
首先想到的是求zhidao第二行不等于0的最小列标,用=MIN((A2:F2<>0)*COLUMN(A2:F2)),且是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{},但是对于不符合的会返回时,取不到不等于0的最小列标;
所以可以转换一下求最大值,用10来倒减最小列标,得专到最大列标,这样就不会取到不符条件的列标,取出的最大值,再用10来减,即得到最小列标:=10-MAX((A2:F2<>0)*(10-COLUMN(A2:F2))),这也是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{};属
上面也是数组公式,可以用SUMPRODUCT函数来转一下,就成为普通公式,不需要三键齐按;
再用INDEX函数返回第一行相应列的值即可达到目的:=INDEX(1:1,SUMPRODUCT(10-MAX((A2:F2<>0)*(10-COLUMN(A2:F2)))))。