首页 > 代码库 > Excel——使用OFFSET、MATCH、COUNTA实现二级菜单

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,)

Excel——使用OFFSET、MATCH、COUNTA实现二级菜单