Table of contents
如果单元格能自动填充,那该有多好? 大多数时候,我们都会喜欢这样。 今天,我们将向你展示如何根据另一个单元格的值自动填充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))," ")总结
今天就到这里,我们已经列出了几种基于另一个单元格的自动填充方法。 希望你会发现这对你有帮助。 如果有什么难懂的地方,请随时评论。 让我们知道我们在这里错过的任何其他方法。