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

时间:2023-03-08 16:28:27

如图所示,接下来提供两种办法实现:

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

1.将A、B、C、D定义为名称NAME。

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

2.设置一级菜单单元格数据有效性为NAME。

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

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