sheet间查询和替换

来源:百度知道 编辑:UC知道 时间:2024/05/31 10:51:14
我建了个Excel有两个sheet如下。
sheet A: sheet B:
1001 自制 零件 1002 一厂 车间
1002 外购 零件 1004 一厂 库房
1003 自制 零件
我想得的结果是从B中查询到1002在A中有,就把后面两个结果加到A中,这样A变成:
1001 自制 零件
1002 外购 零件 一厂 车间
1003 自制 零件
请教如何用宏或者函数实现,代码如何?
谢谢。
你这么做必须要两个sheet的每条都对应上,我的文件中A和B中数据是不一样的,我想能不能从列中搜索到该条记录然后返回该行的那两列?

编一个宏:
Sub abc()
For i = 1 To Sheets("sheetA").Range("A1").End(xlDown).Row
For j = 1 To Sheets("sheetB").Range("A1").End(xlDown).Row
If Sheets("sheetA").Cells(i, "A") = Sheets("sheetB").Cells(j, "A") Then
Sheets("sheetA").Cells(i, "D") = Sheets("sheetB").Cells(j, "B")
Sheets("sheetA").Cells(i, "E") = Sheets("sheetB").Cells(j, "C")
End If
Next j
Next i
End Sub

在SHEET A C列输入=IF(ISERROR(VLOOKUP($A1,选中SHEET B的数据,2,FALSE)),"",VLOOKUP($A1,选中SHEET B的数据,2,FALSE))
D列输入=IF(ISERROR(VLOOKUP($A1,选中SHEET B的数据,2,FALSE)),"",VLOOKUP($A1,选中SHEET B的数据,3,FALSE))
下拉公式即可