求助:基于单元格匹配的Data Validation下拉列表解决方案
解决Excel动态数据验证下拉列表问题
1. 修正名称定义
打开名称管理器,删除原m_addrs,重新定义以下名称:
strname:=Sheet2!$B$5:$B$10(改为绝对引用,固定门店列表范围)gen_addrs:=Sheet2!$C$5:$C$10(改为绝对引用,固定默认地址列表范围)dynamic_dropdown:
=IFERROR(TEXTJOIN(",",TRUE,FILTER(gen_addrs,strname=Input!$C6)),TEXTJOIN(",",TRUE,gen_addrs))
注:若使用Excel 2019及更早版本(无FILTER函数),改用数组公式:
=IFERROR(TEXTJOIN(",",TRUE,IF(strname=Input!$C6,gen_addrs,"")),TEXTJOIN(",",TRUE,gen_addrs))输入时需按
Ctrl+Shift+Enter完成(Excel 365/2021无需此操作)
2. 设置数据验证
选中需要添加下拉列表的单元格(如Input表的D6),打开「数据验证」面板:
- 允许:选择「序列」
- 来源:输入
=dynamic_dropdown - 勾选「提供下拉箭头」,按需配置其他选项
原理说明
FILTER(gen_addrs,strname=Input!$C6)会筛选出与Input!C6门店匹配的地址,无匹配时返回错误值IFERROR捕获错误,自动切换为返回用TEXTJOIN拼接的全部默认地址列表TEXTJOIN将单元格区域转为逗号分隔的字符串,符合数据验证序列的输入格式
内容的提问来源于stack exchange,提问作者JeremyLongs
相关产品推荐
相关产品推荐

