Excel中,如果有两个单元格,向其中一个输入内容,另一个会自动显示出相对应的内容。

例如:有两张表,表1中A列和B列分别储存了科室代码和科室名称,表2则是人员资料,A列为员工号,B列为姓名,C列为科室代码,D列为科室名称。我如果在表2的C
列的一个单元格中输入一个科室代码,则它同一行的D列的单元格中会显示出相应的科室名称。
那位高手知道请告诉我,我要宏的完整代码,万分感谢!答案满意的话,会另外加分的。

一、个人觉得没必要用宏来完成。先给你公式(在D2单元格输入下面的公式):
=IF(C2="","",IF(ISERROR(VLOOKUP(C2,表1!A:B,2,0)),"错误!!",VLOOKUP(C2,表1!A:B,2,0)))
公式完成后复制D2单元格,沿D列从D3向下粘贴到合适的位置。
注意:一定要用你的表1所在的工作表标签(一般为Sheet1)替换公式中的两个表1
说明:
如果C列单元格为空,同行的D列单元格也为空,
如果在表1的A列找不到C列单元格的内容,同行的D列单元格返回“错误!!”,
否则返回与表1的A列同行的B列单元格的内容。
二、VBA代码法,把下面的代码放到VBA的表2中:
Private Sub Worksheet_Change(ByVal Target As Range)
i = Target.Row
'用表2输入科室代码的首行(行号-1)替换下面i>1中的1
If i > 1 And Target.Column = 3 Then
For j = 1 To Sheet1.UsedRange.Rows.Count
If Cells(i, 3) = "" Then
Cells(i, 4) = ""
Exit For
ElseIf Cells(i, 3) = Sheet1.Cells(j, 1) Then
Cells(i, 4) = Sheet1.Cells(j, 2)
Exit For
End If
Cells(i, 4) = "错误!!"
Next
End If
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-25
不用宏,函数轻松搞定:
在表2的D2单元格输入“=vlookup(c2,sheet1!a:b,2,0)”
注意不包含引号,然后向下填充或复制
其中sheet1是表1的名称,注意核对下追问

有疑问,我的单元格格式是文本(因为有些内容是0打头的,常用格式往往会吧打头的0去掉),这样vlookup就无法用了。有啥办法不?

追答

文本格式没影响啊,或者你发我邮箱吧,heavenbreeze1@126.com

追问

那我如果想要反向也可以实现的话要怎么做?
就是说输入科室代码可以显示科室名称,输入科室名称可以显示可是代码。

追答

1.将表1A,B列互换

2.在表2的C2单元格输入“=vlookup(d2,sheet1!a:b,2,0)”

追问

我是希望同时实现啊,你说的只能实现单向,想要反向就得改动整个表格

追答

1.EXCEL选项中(2007,2010在主菜单,2003应该在工具菜单)公式——计算选项——启用迭加计算——次数为2
2.表1A列复制到D列,B列复制到C列

3.表2的D2单元格输入“=vlookup(c2,sheet1!c:d,2,0)”

本回答被提问者和网友采纳
第2个回答  2012-11-18
vlookup就能实现。
比如表2C1输入一个代码,那么,相应的D1的公式为
=vlookup(c1,A1,表1!A:B,2,false)
注,其中,表1是第一个表的名字,如果表1名字是sheet1那么公式中也是sheet1,注意区分英文括号和逗号。
上面的公式,如果你表1中没有表2C列填写的内容,返回的是#N/A,所以表1的代码要完善。
第3个回答  2012-11-18
在D2中输入
=VLOOKUP(C2,Sheet1!A:B,2,0)
然后向下填充就可以 
第4个回答  2012-11-18
表2的D: =vlookup(C2,表1!A:B,2,)
下拉追问

没用呀,这个函数一共需要4个参数,最后一个不用填么,有没有代码。

追答

最后一个省略就是0

Excel中,如果有两个单元格,向其中一个输入内容,另一个会自动显示出相...
F2输入公式 =IF(ISNUMBER(H2),"交强","商业")向下填充即可

Excel中,如果有两个单元格,向其中一个输入内容,另一个会自动显示出相...
一、个人觉得没必要用宏来完成。先给你公式(在D2单元格输入下面的公式):=IF(C2="","",IF(ISERROR(VLOOKUP(C2,表1!A:B,2,0)),"错误!!",VLOOKUP(C2,表1!A:B,2,0)))公式完成后复制D2单元格,沿D列从D3向下粘贴到合适的位置。注意:一定要用你的表1所在的工作表标签(一般为Sheet...

excel中如何关联两个单元格,使我只要输入一个单元格的值,另一个单元...
当然也可以直接输入=A1 不过这样的话如果A1剪切到别的地方了,B1会随A1变化,会有想不到的结果,所以最好还是用=INDIRECT间接引用 如果要向下填充不能直接向下填充,要改成=INDIRECT("A"&ROW(1:1))向右则=INDIRECT("A"&COLUMN(A:A))若想间接引用一个区域并希望可以填充必须在ROW()和COLUMN()外加S...

Excel表格在一个单元格输入任意内容,另一个单元格自动填我设定的内容...
首先,假设我们希望在A1单元格中输入任意内容,B1单元格则根据A1的内容自动填充我们设定的内容。如果B1需要显示的是A1的内容,我们可以直接在B1单元格中输入公式`=A1`。这样,无论A1单元格中输入什么内容,B1单元格都会自动显示相同的内容。如果希望B1单元格在A1有内容时显示特定信息,否则保持空白,可以使...

如何在excel单元格内一个输入内容,另一个自动显示
excel中,一个单元格输入内容后另一个同时自动显示具体操作步骤如下:一、第一步,先打开Excel,接下来选择一个单元格例如:C4,点击数据——数据有效性,如下图所示。二、第二步,接下来弹出框框,然后在允许下面选择序列,接下来在来源上面填写所需的选择内容,用小写的逗号(,)隔开,例如黄色,红色,...

EXCEL中 在一个单元格输入内容,另外的单元格自动填充相对应的内容 如何...
在G10 G12中分别输入或复制粘贴下列公式 =VLOOKUP(G8,A:B,2,0)=VLOOKUP(G8,A:C,3,0)

EXCEL中,如何实现输入一个单元格的值,另一个单元格自动出现对应值
Excel怎样设置输入数据邻列对应数据自动输入

在Excel表格中实现一列输入内容后,另一列自动显示对应
要在Excel表格中实现一列输入内容后,另一列自动显示对应的内容,可以采用VLOOKUP函数。以下是详细的步骤:1. 首先,打开Excel表格,并在含有编号的单元格上输入公式`=IFERROR(VLOOKUP(A2,$D$3:$E$6,2,FALSE),"")`。这里,`$D$3:$E$6`是你有一个对照表的区域,`2`指的是在该区域中你想要...

如何在excel表格中实现一列输入内容另一列自动显示内容
在excel表格中输入一个编号后,另一排根据对照表自动显示该编号对应的内容,可使用VLOOKUP函数实现。方法步骤如下:1、打开需要操作的EXCEL表格,在目标单元格中输入公式=IFERROR(VLOOKUP(A2,$D$3:$E$6,2,0),"")。【函数说明,其中$D$3:$E$6是需要查找的表格对照区域绝对引用,2表示返回D列后...

如何excel中在某单元格中输入内容,另一单元格自动填入对应的信息
可以使用Vlookup函数通过查找相应的关键字(输入的内容)进行匹配查找并返回相对应的结果,但是事先需要有一份对照表。VLOOKUP函数用途:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数VLOOKUP 代替函数HLOOKUP。语法:VLOOKUP(...

相似回答