Excel——使用OFFSET、MATCH、COUNTA实现二级菜单
如图所示,接下来提供两种办法实现:
1.将A、B、C、D定义为名称NAME。
2.设置一级菜单单元格数据有效性为NAME。
3.设置二级菜单格数据有效为:
=OFFSET($A$1,MATCH($A6,NAME)-1,1,1,COUNTA(OFFSET($A$1:$F$4,MATCH($A6,NAME)-1,)))
该函数目的是:查询到一级菜单对应的二级菜单所有单元格。
1)筛选特定一行有值单元格,使用offset函数。
2)坐标系原点为$A$1。
3)向下偏移量根据match找到的一级菜单在NAME中的位置而定MATCH($A6,NAME)-1。
4)向右偏移量为1,定位在二级菜单起始行。
5)高度为1。
6)宽度由计数非空单元格个数而定COUNTA。
7)需要使用offset选取参考坐标中的某一行OFFSET。
8)坐标系为$A$1:$F$4。
9)根据匹配值找到所在行MATCH($A6,NAME)-1,)。