如何在Excel中根据另一个单元格自动填充单元格

  • Share This
Hugh West

如果单元格能自动填充,那该有多好? 大多数时候,我们都会喜欢这样。 今天,我们将向你展示如何根据另一个单元格的值自动填充excel中的单元格。 在这个环节,我们将使用Excel 2019,请随意使用你喜欢的版本。

首先,让我们了解一下数据集,这是我们今天的例子的基础。

这里我们有一个包含员工信息的表格,如他们的姓名、ID、地址、各自的部门和入职日期。 使用这些数据,我们将看到如何自动填充单元格。

请注意,这是一个带有虚拟数据的基本数据集。在现实生活中,你可能会遇到一个更大、更复杂的数据集。

实践工作手册

欢迎你从下面的链接中下载练习工作手册。

在Excel中根据另一个单元格自动填充单元格.xlsx

基于另一个单元格的自动填充单元格

在这里,我们以这样的方式设置我们的例子,即通过提供一个雇员的名字,我们将自动找到他的信息。

这里我们引入了与原表分离的信息字段。 比方说,我们将 姓名,罗伯特 .

那么我们应该得到的细节是 罗伯特 让我们探讨一下我们如何才能做到这一点。

1.使用VLOOKUP功能

请暂时忘掉 "自动填充",想想检索符合标准的数据,你的脑海中会出现哪些功能? 这很明显。 VLOOKUP 是其中之一。

VLOOKUP 更多信息,请查看这篇VLOOKUP文章。

现在我们要写一个公式,使用 VLOOKUP 函数,它将在一个单元格中获取我们想要的确切数据。

让我们写出推导出雇员ID的公式

=iferror(vlookup($i$4,$b$4:$f$9,2,0)," ")

VLOOKUP 函数,我们已经插入了名称( I4) 作为 查找_值 .然后将整个表格范围作为 lookup_array .

ǞǞǞ 雇员编号 是第2列,所以我们将2设为 列_num .

我们已经使用了 误差(IFERROR 函数来包装 VLOOKUP 这将消除公式中出现的任何错误(要了解该函数,请访问文章:IFERROR)。

为了推导出部门名称,我们需要修改该公式。

=iferror(vlookup($i$4,$b$4:$f$9,3,0),"" )

在这里,我们已经改变了 列_num 根据原始表格中的位置。 部门 是第3列,所以我们使用了3。

对于 加入日期 地址。 公式将是

=iferror(vlookup($i$4,$b$4:$f$9,4,0),"")

而且

=iferror(vlookup($i$4,$b$4:$f$9,5,0),"")

我们已经找到了该雇员的详细信息。 现在改变名称,单元格将自动更新。

带下拉列表的VLOOKUP

早些时候,我们手动提供了名称。 有时,它可能看起来很费时,而且令人困惑。

为了解决这个问题,我们可以为雇员的名字制作一个下拉列表。 查看文章了解如何制作一个下拉列表。

数据验证 在对话框中选择 列表 并插入名字的单元格引用。

B4:B9 是包含名字的范围。

现在我们将找到下拉列表。

我们现在可以更有效、更迅速地选择名称。

其他单元格被自动填充,因为我们使用了 VLOOKUP .

2.使用INDEX - MATCH功能

我们通过以下方式进行的操作 VLOOKUP 可以交替进行。 我们可以使用以下组合 INDEX-MATCH 来自动填充单元格。

匹配 定位一个查找值在行、列或表中的位置。 索引 返回一个范围内给定位置的值。 要了解更多信息,请访问文章:INDEX, MATCH.

该公式将是以下公式

=iferror(index($c$4:$c$9,match($i$4,$b$4:$b$9,0)),""

在这里,我们的公式得出了ID号码,因为我们已经提供了ID的范围。 索引 匹配 函数提供行号,与表中的标准值相匹配( B4:B9 ).

为了推导出 部门 我们将改变在 索引 而公式将是下面的一个

=iferror(index($d$4:$d$9,match($i$4,$b$4:$b$9,0))," ")

各部门的范围是 D4 D9 .

的公式。 加入日期 将是

=iferror(index($e$4:$e$9,match($i$4,$b$4:$b$9,0))," ")

而对于地址

=iferror(index($f$4:$f$9,match($i$4,$b$4:$b$9,0))," ")

现在为了说明问题,让我们擦除选择,并选择任何一个名字

你会发现其他单元格会自动填充。

3.使用HLOOKUP函数

如果你的数据是水平方向的,那么你需要使用 HLOOKUP 要了解该函数,请访问这篇文章:HLOOKUP。

名称 其余的字段将被自动填入。

为了推导出id,我们将使用以下公式

=iferror(hlookup($c$11,$c$3:$h$7,2,0),"" )

该操作类似于 VLOOKUP 公式。 在 HLOOKUP 函数,我们已经提供了名称为 查找_值 和表格作为 lookup_array ID是在第二行,所以 行数_num 是2,而完全匹配的是0。

现在,对于部门来说,公式将是

=iferror(hlookup($c$11,$c$3:$h$7,3,0),"" )

ǞǞǞ 部门 是第三行,所以 行数_num 是3在这里。

我们来写一下加入日期的公式

=iferror(hlookup($c$11,$c$3:$h$7,4,0),"" )

ǞǞǞ 加入日期 是第四行,所以 行数_num 然后将地址的行号改为5。

=iferror(hlookup($c$11,$c$3:$h$7,5,0),"" )

让我们擦除这些单元格,并从下拉列表中选择一个名称

选择名称后,你会发现其他单元格会自动填充。

4.行的INDEX-MATCH

我们也可以用 指数匹配 该公式将是以下公式

=iferror(index($c$4:$h$4,match($c$11,$c$3:$h$3,0))," ")

这是为了推导出id,所以我们使用了 C4:H4 索引 函数,也就是 雇员编号 行。

改变行的范围,找到部门

=iferror(index($c$5:$h$5,match($c$11,$c$3:$h$3,0))," ")

同样地,改变加入日期和地址的行号

=iferror(index($c$6:$h$6,match($c$11,$c$3:$h$3,0))," ")

这里 C6:H6 是指 加入日期 行。

C7:H7 是指 地址 行,所以推导出的地址公式将如下所述

=iferror(index($c$7:$h$7,match($c$11,$c$3:$h$3,0))," ")

总结

今天就到这里,我们已经列出了几种基于另一个单元格的自动填充方法。 希望你会发现这对你有帮助。 如果有什么难懂的地方,请随时评论。 让我们知道我们在这里错过的任何其他方法。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.