Excel多级联动–数据有效性与indirect函数的结合使用

目标:

设置多级联动菜单

数据源:

制作如下,通过颜色和内容,可以看出联动关系:

Android 表格联动 表格内容联动_二级联动


联动菜单:

Android 表格联动 表格内容联动_Android 表格联动_02


步骤一:

设置一级菜单

选中F10单元格,【数据】-【数据验证】-【数据验证】,【设置】选项卡-【验证条件】-【允许】选择【序列】,【来源】选择F2:F3区域,默认为绝对引用:

Android 表格联动 表格内容联动_二级联动_03


步骤二:

设置二级联动

①定义名称

选中G2:G4,即“百度”对应的“运营模块”的内容,

【公式】-【名称管理器】(快捷键:ctrl+F3),在弹出框中选择【新建】

Android 表格联动 表格内容联动_二级联动_04


【新建名称】的【名称】会默认为是第一个单元格的内容,我们把这个名称改为“百度”,也就是他们的联动上一级的名称;

【范围】根据需要选择【工作簿】或者某个sheet页;

【引用位置】就是刚才我们选定的目标区域范围,默认为绝对引用。

确定。

Android 表格联动 表格内容联动_Android 表格联动_05


同样的方法定义另一个二级联动的名称:

Android 表格联动 表格内容联动_Android 表格联动_06


②数据有效性和indirect函数

给二级联动的内容定义好名称以后,选中G10单元格(即二级菜单被显示的单元格),【数据】-【数据验证】-【数据验证】,【设置】选项卡-【验证条件】-【允许】选择【序列】,

【来源】填写公式【=INDIRECT($F$10)】,默认为绝对引用,F10单元格显示的是当前单元格G10的上一级菜单。

确定。

这时,二级菜单完成。

步骤三:

设置三级联动菜单

①如上方法,将二级联动对应的项目内容区域,定义名称,分别为各自对应的二级联动菜单的名称:

Android 表格联动 表格内容联动_二级联动_07


方法相同,直到最后一个也设置完成:

Android 表格联动 表格内容联动_二级菜单_08


②给三级联动的内容定义好名称以后,选中H10单元格(即三级菜单被显示的单元格),在【数据验证】-【来源】填写公式

【=INDIRECT( $G$10)】(默认为绝对引用),G10单元格显示的是当前单元格H10的上一级菜单,也就是二级菜单。

Android 表格联动 表格内容联动_二级联动_09


完成。

总结:

①四级联动、五级联动,方法同上;

②主要两个步骤:

第一步,定义区域,名称一定要设置为上级的名称,因为indirect函数返回的是参数所指定的单元格的值,也就是我们之前定义好的名称所对应的区域;

第二步,数据验证的来源,使用indirect函参数是当前联动菜单的上一级菜单单元格,因为上一级菜单单元格名称与定义好的名称一致,而indirect函数返回这一单元格定义名称下的区域,这样联动关系就成立了。