excel中的宏 求某些区域数值的最大值和最小值

来源:百度知道 编辑:UC知道 时间:2024/09/25 13:21:57
Excel中的宏高手 要求对于某一指定列或行的其中一些数据求最大和最小值 如有行数据为:1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 用鼠标选取前10个数求最大值和最小值 在这一行的最后给出结果为9,1
请用宏编写 并要求在所有excel表格中通用 设置快捷键 在打开一个excel表格后 选中要操作区域 即可给出 其中的最大最小值,特别注意操作对象:并不是针对特定的行和列 而是不确定的行或列的其中选中的几个连续的单元格。感谢编写 有更高的追加分数!
问题写错了 我想要的结果是最大值和第二大值 即上面例子中的结果应为9和8 我不知道用什么方法返回选中区域的横纵坐标值 如(A1:A6)或(B1:E1)

="("&TEXT(CELL("row",A3)+MATCH(LARGE(A3:A8,1),A3:A8,0)-1,0)&","&TEXT(CELL("col",A3),0)&")"
//返回A3:A8中值最大的行号、和列号,形如(5,1)

="("&TEXT(CELL("row",B1),0)&","&TEXT(CELL("col",B1)+MATCH(LARGE(B1:E1,1),B1:E1,0)-1,0)&")"
//返回B1:E1中值最大的行号、和列号,形如(1,5)

="("&TEXT(CELL("row",A3)+MATCH(LARGE(A3:A8,2),A3:A8,0)-1,0)&","&TEXT(CELL("col",A3),0)&")"
//返回A3:A8中值第二大的行号、和列号,形如(5,1)

="("&TEXT(CELL("row",B1),0)&","&TEXT(CELL("col",B1)+MATCH(LARGE(B1:E1,2),B1:E1,0)-1,0)&")"
//返回B1:E1中值第二大的行号、和列号,形如(1,5)

===============================

研究一下午的成果……

解释一下:

CELL("row",B1)返回B1的行号
CELL("col",B1)返回B1的列号
LARGE(B1:E1,1)返回B1:E1中最大的值
LARGE(B1:E1,2)返回B1:E1中第二大的值
MATCH(10,A3:A8,0)返回A3:A8中值为1