1 返回按下ct" />
乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em> <em>VBA</em>中计算有数据的&l

<em>Excel</em> <em>VBA</em>中计算有数据的&l

作者:乔山办公网日期:

返回目录: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))

  1. 首先想到的是求zhidao第二行不等于0的最小列标,用=MIN((A2:F2<>0)*COLUMN(A2:F2)),且是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{},但是对于不符合的会返回时,取不到不等于0的最小列标;

  2. 所以可以转换一下求最大值,用10来倒减最小列标,得到最大列标,这样就不会取到不符条件的列标,取出的最大值,再用10来减,即得到最小列标:=10-MAX((A2:F2<>0)*(10-COLUMN(A2:F2))),这也是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{};

  3. 上面也是数组公式,可以用SUMPRODUCT函数来转一下,就成为普通公式,不需要三键齐按;

  4. 再用INDEX函数返回第一行相应列的值即可达到目的:=INDEX(1:1,SUMPRODUCT(10-MAX((A2:F2<>0)*(10-COLUMN(A2:F2)))))。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网