2

我不知道这是否可能,但有人建议我在这里发帖和最有可能得到答案的地方。

我在excel中有四列如下

A: all product id's
B: reference No.
C: selected product id's
D: product codes.

我想要 excel 做的是在列 A 中搜索列 C 中的 id,如果匹配,则从列 D 中的搜索中将其重命名为列 D 中的相应行。我不能轻松地使用 vlookup 作为A 列中的产品 ID 最多可重复 8 次。

我希望这是有道理的,我会尽力回答所有问题。除了基础知识,我对excel一无所知,所以如果有人能对此有所了解,我将不胜感激。

4

3 回答 3

1

尝试这个:

在 之前插入一个新列A。所以现在你所有的列都上移了一个,即你A的现在B等。

现在在单元格中A1(新插入的A1,而不是现在的原始 A1 B1

=VLOOKUP(B1, $D$1:$E$1000, 2, 0)

1000你的最后一行在哪里。并将公式向下拖动。

您尚未指定如果 ID 在 colA但不在 col中会发生什么C。如果您希望它保持在 Col 中的状态,请A改用以下公式:

=IF(ISNA(VLOOKUP(B1, $D$1:$E$1000, 2, 0)), B1, VLOOKUP(B1, $D$1:$E$1000, 2, 0))
于 2012-11-05T15:00:50.207 回答
0

所以你的数据是这样的?我不明白你的预期结果是什么?

A  B    C  D    expected result
1  101  1  201  ?
1  102  4  204
2  103
3  104
3  105
4  106
于 2012-11-05T15:19:14.750 回答
0

这应该可以解决问题:

Sub test()

LastRowA = Cells(Rows.Count, "A").End(xlUp).Row
LastRowC = Cells(Rows.Count, "C").End(xlUp).Row

For i = 1 To LastRowA
    For j = 1 To LastRowC
        If Range("A" & i).Value = Range("C" & j).Value Then
            Range("D" & i).Value = Range("C" & j).Address(False, False)
        End If
    Next j
Next i

End Sub
于 2012-11-05T15:04:43.753 回答