跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

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

Author Siluvia Last modified

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

auto-populate-a-drop-down-list

首先:创建一个下拉列表

方法1:使用VLOOKUP函数进行自动填充

方法2:使用INDEX和MATCH函数进行自动填充

方法3:使用Kutools for Excel进行自动填充

方法4:使用定义函数进行自动填充

方法4:使用定义函数进行自动填充


首先:创建一个下拉列表

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

步骤:

步骤1. 准备数据源。

步骤2. 创建下拉列表。

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

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

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

    doc-select-list

    doc-drop-down-list

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


方法1:使用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)
  • 无法搜索关键列左侧的内容。

方法2:使用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更耐用。

方法3:使用Kutools for Excel进行自动填充

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

步骤:

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

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

✨ 注意事项

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

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


方法4:使用定义函数进行自动填充

对于需要超出公式限制的动态和自动化解决方案的用户,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函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


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

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠