3个回答
展开全部
把A、B两张表的A列和B列都对换一下位置,然后在A表B1单元格输入:
=vlookup(A1,sheet2!A:A,2,0)
下拉单元格即可!
=vlookup(A1,sheet2!A:A,2,0)
下拉单元格即可!
更多追问追答
追问
你这个是函数的方法吧,我试试
追答
是啊,用vlookup函数很容易,无需用到宏。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub b列对比()
Application.ScreenUpdating = False
Dim lr1 As Long
lr1 = 1
Do While Sheets(1).Range("b" & lr1) <> ""
If Sheets(1).Range("b" & lr1) = Sheets(2).Range("b" & lr1) Then
Sheets(1).Range("a" & lr1) = Sheets(2).Range("a" & lr1).Value
End If
lr1 = lr1 + 1
Loop
Application.ScreenUpdating = True
End Sub
Application.ScreenUpdating = False
Dim lr1 As Long
lr1 = 1
Do While Sheets(1).Range("b" & lr1) <> ""
If Sheets(1).Range("b" & lr1) = Sheets(2).Range("b" & lr1) Then
Sheets(1).Range("a" & lr1) = Sheets(2).Range("a" & lr1).Value
End If
lr1 = lr1 + 1
Loop
Application.ScreenUpdating = True
End Sub
更多追问追答
追答
开始误解你的意思了
试下这个
Sub b列对比()
Application.ScreenUpdating = False
Dim lr1 As Long
Dim lr2 As Long
Dim lrb1 As Long
Dim lrb2 As Long
lrb1 = Sheets(1).[b65536].End(xlUp).Row
lrb2 = Sheets(2).[b65536].End(xlUp).Row
For lr2 = 1 To lrb2
For lr1 = 1 To lrb1
If Sheets(1).Range("b" & lr1) = Sheets(2).Range("b" & lr2) Then
Sheets(1).Range("a" & lr1) = Sheets(2).Range("a" & lr2).Value
End If
Next lr1
Next lr2
Application.ScreenUpdating = True
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b的A1输入:=INDEX(a!$A$1:$A$5,MATCH(B1,a!$B$1:$B$5,0),1),想下填充
A$1:$A$5和$B$1:$B$5根据需要自动调整或者改为A:A和B:B
A$1:$A$5和$B$1:$B$5根据需要自动调整或者改为A:A和B:B
更多追问追答
追问
另外2个我都能看懂,你这个我看不懂
追答
按照你给你例子,有5行数据,那么MATCH(B1,a!$B$1:$B$5,0)返回的就是B1的单元格的内容在a表B1到B5这个范围内对应值所在的行号,比如B1=a,那么返回的1
index函数式取指定位置的数值。
如果数据比较多你就改为:=INDEX(a!A:A,MATCH(B1,a!B:B,0),1)
如果还是不懂函数的意思,就百度吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询