Excel 比较两列,如果匹配,则用旁边的另一个单元格替换一列
我正在尝试向excel电子表格中的文本类别添加类别代码。我有一个a列,其中包含文本中的所有类别名称,包括重复项。我有B列和文本中的所有类别名称,不包括重复项,我有C列,其中类别代码不包括重复项。C列中的每个代码与其B列中的类别对齐 例如: 答:Excel 比较两列,如果匹配,则用旁边的另一个单元格替换一列,excel,vba,Excel,Vba,我正在尝试向excel电子表格中的文本类别添加类别代码。我有一个a列,其中包含文本中的所有类别名称,包括重复项。我有B列和文本中的所有类别名称,不包括重复项,我有C列,其中类别代码不包括重复项。C列中的每个代码与其B列中的类别对齐 例如: 答: 家用电器 B: 农业工具 C: 051 051是农业工具的代码。我想获取A列中的字符串,在B列中搜索该字符串,然后用C中的代码替换A列中的字符串 是否可以使用VBA或excels内置函数执行此操作?如果A列包含包含重复项的类别名称列表,B和C列包含(相同
家用电器 B:
农业工具 C:
051 051是农业工具的代码。我想获取A列中的字符串,在B列中搜索该字符串,然后用C中的代码替换A列中的字符串
是否可以使用VBA或excels内置函数执行此操作?如果A列包含包含重复项的类别名称列表,B和C列包含(相同)类别名称和没有重复项的类别ID(即“类别代码表”),则可以
- 在D列中(或者最好在a和B之间插入一个新列)
- 对于A中的每个条目,输入
=VLOOKUP(Ax,$B$y:$C$z,2,FALSE)
将查找表的坐标设为绝对坐标,以防止在向下复制公式时更改y&z。由于要替换列A中的值,请尝试使用此小宏:
Sub FixColumnA()
Dim nA As Long, nB As Long, v As Variant
Dim i As Long, j As Long
nA = Cells(Rows.Count, "A").End(xlUp).Row
nB = Cells(Rows.Count, "B").End(xlUp).Row
For i = 1 To nA
With Cells(i, "A")
v = .Value
For j = 1 To nB
If v = Cells(j, "B").Value Then
.Value = Cells(j, "C").Value
End If
Next j
End With
Next i
End Sub
这可以通过使用VLOOKUP函数来实现。我尝试过使用VLOOKUP函数,但不适合我。你能给我举个函数的例子吗?谢谢你,汉克斯!成功了,但我必须在它前面放一个iError。谢谢你的解决方案,另一个成功了,所以我没有测试这个,但是谢谢你you@SmalliSax很乐意帮忙!