2

Я пытаюсь сравнить списки в Excel. Есть два списка, в одном списке только один столбец, а в другом два столбца, и я пытаюсь сделать так, чтобы столбец A совпадал со столбцом C, а затем принимать значение в столбце D и использовать его для замены столбца A.

Например:

Column A  Column B Column C Column D
Blue               Blue     Shirt   
Blue               Red      Pants
Red                Green    Shoes
Red
Green
Green
Purple

So the completed list should look like:

Column A  Column B Column C Column D
Shirt              Blue     Shirt   
Shirt              Red      Pants
Pants              Green    Shoes
Pants
Shoes
Shoes
Purple

2 ответа2

1

Это будет работать, пока вы не нажмете ошибку. И тогда он перестает работать. Не уверен, почему, может быть, вы или кто-то еще мог бы это исправить, но это будет работать для вашего выбора, пока ваш выбор будет найден (например, "фиолетовый" разрывает петлю)

Sub test()
Dim a As Variant
Application.ScreenUpdating = False

On Error Resume Next

Err.Clear

For Each c In Selection

a = Application.WorksheetFunction.VLookup(c, Range("C1:D3"), 2, False)

If Err.Number = 0 Then c.Value = a

Next

Application.ScreenUpdating = True

End Sub
1

В другом столбце (например, B) введите следующую формулу и заполните:

=IFERROR(VLOOKUP(A1,$C$1:$D$3,2,FALSE),A1)

Затем скопируйте полученный столбец и вставьте Special -> Values только над столбцом A. Затем вы можете удалить формулы из столбца B.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .