You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel:实现多选下拉列表的Vlookup等效去重合并功能

实现多选下拉列表对应去重地区的公式方案

假设你的数据结构如下:

  • Lookup工作表:A列存国家名称,B列存对应地区(无表头)
  • 数据输入工作表:多选下拉列表所在单元格为D2(分隔符为中文顿号、)

适用于Excel 365/2021(动态数组版本)

直接使用以下公式即可实现需求:

=TEXTJOIN("、",TRUE,UNIQUE(XLOOKUP(TEXTSPLIT(D2,"、"),Lookup!A:A,Lookup!B:B,"",0)))

公式拆解:

  • TEXTSPLIT(D2,"、"):将多选单元格中的国家按顿号拆分,生成单个国家的数组
  • XLOOKUP(...):根据拆分后的国家数组,批量查找对应的地区,返回地区数组
  • UNIQUE(...):对地区数组进行去重处理,避免同一地区重复显示
  • TEXTJOIN("、",TRUE,...):将去重后的地区用顿号连接,TRUE参数会自动忽略空值

适用于旧版Excel(无动态数组函数)

旧版Excel没有TEXTSPLIT和UNIQUE,可以用FILTERXML替代拆分,再结合数组公式实现去重:

=TEXTJOIN("、",TRUE,IFERROR(INDEX(Lookup!B:B,MATCH(0,COUNTIF($G$1:G1,Lookup!B:B)+IF(ISNUMBER(MATCH(Lookup!A:A,FILTERXML("<t><s>"&SUBSTITUTE(D2,"、","</s><s>")&"</s></t>","//s"),0)),0,1),0)),""))

注意:输入公式后需按Ctrl+Shift+Enter触发数组计算,且公式中的辅助单元格$G$1:G1需保证是空白单元格(如果公式放在H2,就用$G$1:G1,避免循环引用)

关键部分说明:

  • FILTERXML("<t><s>"&SUBSTITUTE(D2,"、","</s><s>")&"</s></t>","//s"):通过XML解析方式拆分多选的国家内容
  • COUNTIF($G$1:G1,Lookup!B:B):记录已输出的地区,实现去重
  • IF(ISNUMBER(MATCH(...))):筛选出选中国家对应的地区

注意事项

  • 确保Lookup工作表的A列(国家)没有重复值,一个国家对应唯一地区
  • 如果下拉列表的分隔符是英文逗号,需将公式中的"、"替换为","
  • 旧版Excel的数组公式需严格按Ctrl+Shift+Enter输入,否则无法正常计算

内容的提问来源于stack exchange,提问作者InesGuardans

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 17:27:32