跳至主要内容

如何在Excel中从下拉列表选择值后自动填充其他单元格:综合指南

Author: Siluvia Last Modified: 2025-07-31

在使用Excel时,自动化数据输入可以显著提高生产力。一个常见的任务是在从下拉列表中选择值后自动填充相关数据。本指南探讨了四种综合方法,从Excel的原生功能到VBA和第三方工具(如Kutools)都有涉及。

auto-populate-a-drop-down-list

首先:创建一个下拉列表

方法一:使用VLOOKUP函数自动填充

方法二:使用INDEX和MATCH函数自动填充

方法三:使用Kutools for Excel自动填充

方法四:使用定义的函数自动填充

方法四:使用定义的函数自动填充


首先:创建一个下拉列表

在实施任何自动填充方法之前,你需要先设置一个下拉列表。该下拉列表将作为触发填充相关单元格的操作点。

步骤:

步骤1. 准备数据源。

步骤2. 创建下拉列表。

  • 转到你希望放置下拉列表的单元格位置(例如Sheet1!D2)

  • 导航至数据 > 数据验证 > 数据验证

  • 在“数据验证”对话框中,从允许部分选择列表,并选择数据源。点击确定。

    doc-select-list

    doc-drop-down-list

一旦你的下拉列表就位,你可以继续执行以下任何一种自动填充方法。


方法一:使用VLOOKUP函数自动填充

VLOOKUP是Excel中最常用于数据检索的功能之一。当与下拉列表结合使用时,它可以快速从参考表中获取相关数据。

步骤:

在下拉列表相邻的单元格中(例如E2),输入:

=VLOOKUP(D2,$A$2:$B$5,2,FALSE)

🔓 公式解释:

  • 在A2:B5区域的第一列中查找D2的值。如果找到,它将返回第二列(B列)中的对应值。如果没有找到,则会返回错误(#N/A)。
  • FALSE表示必须完全匹配。

步骤2. 按Enter键。

✨ 注意事项

  • 如果不选择任何值,可以使用IFERROR()隐藏错误:
    =VLOOKUP(D2,$A$2:$B$5,2,FALSE)
  • 无法向关键列的左侧进行查找。

方法二:使用INDEX和MATCH函数自动填充

INDEX和MATCH是一对功能强大的组合,其灵活性远超VLOOKUP。它支持左侧查找,即使列被重新排列也能保持稳定。

步骤:

在下拉列表相邻的单元格中(例如E2),输入:

=INDEX($B$2:$B$5,MATCH(D2,$A$2:$A$5,0))

🔓 公式解释:

  • MATCH(D2, $A$2:$A$5, 0)
    在范围A2:A5内搜索D2。0表示精确匹配(类似于VLOOKUP中的FALSE)。
    返回找到D2的位置(行号)。
  • INDEX($B$2:$B$5, ...)
    从MATCH中获取行号。
    返回B2:B5中的对应值。

步骤2. 按Enter键。

✨ 注意事项

  • 返回范围(INDEX)和查找范围(MATCH)必须行对齐。
  • 可以进行左右查找。
  • 比VLOOKUP更耐用。

方法三:使用Kutools for Excel自动填充

Kutools提供了一种基于图形用户界面的方法,无需使用公式。对于那些想快速获得结果而不想深入研究Excel函数的用户特别有用。

步骤:

步骤1. 在下拉列表相邻的单元格中(例如E2),前往Kutools > 公式助手 > 查找与引用 > 查找值列表

步骤2. 选择表格数组、查找值以及列号。点击确定。

✨ 注意事项

  • Kutools允许你一次性应用到整个区域。
  • 该工具非常易于初学者使用并减少手动错误。
  • 易于使用。
  • 无需公式。

厌倦了Excel中重复的任务和复杂的公式?Kutools for Excel是你的一站式生产力加速器!拥有超过300个强大功能——批量编辑、智能填充、自动过滤——让你的工作效率提升10倍。立即下载,将你的Excel技能提升到新的水平!


方法四:使用定义的函数自动填充

对于需要超越公式限制的动态和自动化解决方案的用户,VBA提供了最大程度的控制和逻辑自定义能力。

步骤:

步骤1. 按Alt +F11键打开VBA编辑器。

步骤2. 点击插入 > 模块。

步骤3. 将下面的代码粘贴到模块中。

'Update by Extendoffice
Function GetProductInfo(productName As String, colIndex As Integer) As Variant
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1") 'the sheet that the data source in

    Dim rng As Range
    Set rng = ws.Range("A2:B5") 'the range of data source

    Dim r As Range
    For Each r In rng.Rows
        If r.Cells(1, 1).Value = productName Then
            GetProductInfo = r.Cells(1, colIndex).Value
            Exit Function
        End If
    Next

    GetProductInfo = "Not found"
End Function

步骤4. 返回工作表,在下拉列表相邻的单元格中(例如E2),输入:

=GetProductInfo(D2,2)

步骤5. 按Enter键。

✨ 注意事项

  • 需要启用宏的工作簿(.xlsm)。

常见问题解答

问1:如果我的数据区域经常变化怎么办?

使用命名区域或动态表格来维持引用。

问2:我可以使用VLOOKUP进行左向查找吗?

不可以,考虑使用INDEX+MATCH或Kutools来处理这种情况。

问3:Kutools是否安全使用?

是的,它被广泛使用和信任,但请始终从官方网站下载。

问4:VBA是否适用于所有Excel版本?

大多数桌面版本都支持它,但它默认被禁用,并且在Excel Online中不被支持。

问5:Kutools是否免费使用?

Kutools for Excel不是一个完全免费的工具,但它提供免费试用,接着是一次性购买选项:


最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!