乐于分享
好东西不私藏

Excel三级联动下拉菜单:不用VBA,函数轻松搞定!

Excel三级联动下拉菜单:不用VBA,函数轻松搞定!

本文作者:表哥在此 | 专注 Excel 函数与 VBA 实战教学


🤔 什么是三级联动下拉菜单?

选择「省份」后,「城市」自动变成该省份的城市列表; 选择「城市」后,「区县」又自动变成该城市的区县列表——

这就是 三级联动!

选中项
自动联动的下级列表
一级:省份
二级:城市
二级:城市
三级:区县
任意级清空
下级自动清空

❌ 传统方法:用 VBA 写宏代码,复杂难维护! ✅ 新方法:用 XLOOKUP + 数据验证,纯函数实现,无需 VBA!


📊 数据结构设计

一级→二级 候选区

一级
二级1
二级2
二级3
办公用品
纸本文具
桌面设备
文件收纳
员工管理
入职资料
培训安排
考勤规则
销售支持
客户线索
合同资料
售后跟进

二级→三级 候选区

二级
三级1
三级2
三级3
纸本文具
签字笔
便签纸
订书机
桌面设备
升降支架
无线键鼠
护眼台灯
文件收纳
档案盒
资料夹
标签贴
入职资料
身份证
学位证
体检报告
培训安排
入职培训
技能培训
晋升培训
考勤规则
请假单
加班单
出差单
客户线索
客户名
联系方式
需求摘要
合同资料
合同编号
金额条款
签署日期
售后跟进
工单类型
处理时限
回访记录

💡 核心公式

二级联动公式

=IFERROR(XLOOKUP($B$4, 数据源!$A$5:$A$7, 数据源!$B$5:$D$7), "")

三级联动公式

=XLOOKUP($C$4, 数据源!$A$12:$A$20, 数据源!$B$12:$D$20)

📌 公式拆解

参数
值
说明
查找值$B$4
(或 $C$4)
当前已选的一级/二级,绝对引用
查找列数据源!$A$5:$A$7
一级/二级的名称列(纵向)
返回区域数据源!$B$5:$D$7
对应的二/三级候选区(横向3列)
IFERROR
容错处理
一级未选时返回空字符串

🎯 XLOOKUP 的神奇特性:横向溢出返回

这是本公式的 核心技巧!

=XLOOKUP(省份, 一级列, 二级候选区)

XLOOKUP 不仅能返回单个单元格,还能返回横向数组(多个单元格)。

结果示例(选中「员工管理」):

{"入职资料", "培训安排", "考勤规则"}

这个数组会自动作为数据验证的序列来源,生成二级下拉列表!


📝 操作步骤

Step 1:准备好数据源

将三个级别的数据按上述格式排列:

  • Sheet2 或独立区域:一级→二级候选区
  • Sheet2 或独立区域:二级→三级候选区

💡 建议将数据源放在 Sheet「数据源」 中,方便引用。

Step 2:定义名称(可选)

如果数据源在不同 Sheet,建议定义名称:

数据源!$A$5:$A$7  → 一级列表数据源!$A$12:$A$20 → 二级列表

Step 3:设置一级下拉(手动输入)

一级列表内容固定,直接在数据验证中输入:

办公用品,员工管理,销售支持

Step 4:设置二级下拉(XLOOKUP 公式)

① 选中 C4 单元格 ② 数据 → 数据验证 → 允许:序列 ③ 来源填写公式:

=IFERROR(XLOOKUP($B$4, 数据源!$A$5:$A$7, 数据源!$B$5:$D$7), "")

④ 勾选「提供下拉箭头」和「忽略空值」 ⑤ 点击确定

Step 5:设置三级下拉(XLOOKUP 公式)

① 选中 D4 单元格 ② 数据 → 数据验证 → 允许:序列 ③ 来源填写公式:

=XLOOKUP($C$4, 数据源!$A$12:$A$20, 数据源!$B$12:$D$20)

④ 点击确定

Step 6:测试联动效果

  • 选择「员工管理」→ 二级自动显示:入职资料/培训安排/考勤规则
  • 选择「考勤规则」→ 三级自动显示:请假单/加班单/出差单

✅ 完整效果演示

已关注
关注
重播 分享 赞

🔑 关键技巧总结

技巧
说明
XLOOKUP 横向返回
返回数组会自动溢出,无需 INDEX/MATCH
绝对引用$B$4
 锁定单元格,向下复制时引用不变
IFERROR 容错
一级未选时返回空字符串,避免报错
数据验证序列
XLOOKUP 返回的数组直接作为下拉来源

⚠️ 注意事项

注意点
说明
Excel 版本
需要 Excel 365 / 2021(XLOOKUP 为新函数)
传统版本替代
可用 INDIRECT + 名称管理器(需建立大量名称)
数据源结构
一级列必须纵向排列,二/三级横向排列
空值处理
未选中上级时,下级自动清空

🔄 传统方法 vs XLOOKUP 方法

对比项
传统方法(INDIRECT)
新方法(XLOOKUP)
实现难度
需要建几十个名称
一个公式搞定
维护成本
高(改数据要改名称)
低(改数据源即可)
公式复杂度
复杂
简洁直观
版本要求
所有版本可用
Excel 365/2021


💬 关注公众号「表哥在此」,后台回复「三级联动」,获取本文配套练习文件! 


本文原创,转载需授权

相关学习资料