比较两列,如果一个匹配replace旁边的另一个单元格

我正在尝试将类别代码添加到Excel电子表格中的文本类别。 我有一个包含所有文本类别名称的列A,包括重复项。 我有列B所有文本中的类别名称,不包括重复,我有列C,其中不包括重复的类别代码。 列C中的每个代码都与列B中的类别alignment例如:

A:
家居用品

B:
农业工具

C:
051

051是农业工具的代码。 我想在列A中searchstring,在列B中search此string,然后将列A中的stringreplace为C中的代码。

反正有使用VBA或擅长内置函数吗?

如果列A包含类别名称列表(包括重复项),列B和C包含(相同)类别名称和类别标识符(不含重复项)(即“类别代码表”),则可以

  • 在D列(或者最好在A和B之间插入一个新列)

  • 对于A中的每个条目,input=VLOOKUP(Ax,$B$y:$C$z,2,FALSE)

因此

x =当前行号

y =“分类码表”的起始行

z =“分类码表”的结束行

您将查找表的坐标转换为绝对值,以防止在复制公式时y和z被更改。

既然你想要replaceA中的值,试试这个小macros:

 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