У меня есть лист Excel, где Id одного из листов используется в качестве ссылки на следующем листе. Идентификаторы являются последовательными. Как это :

Sheet 1             Sheet 2     

ID  Name            ID  Sheet_1_ID  Text
1   ABC              1      1       asd
2   XYZ              2      2       dsa
3   PQR              3      2       sadas
4   LMN              4      3       asdas
                     5      3       asd
                     6      4       asd

Теперь по какой-то причине я хочу изменить некоторые идентификаторы из листа 1 и хочу заменить их на листе 2. Так что в основном у меня есть список как:

OldID NewID  
1      23
2      24
3      25
4      26

Единственный способ, который я могу найти - это использовать функцию поиска и замены в Excel, но это отнимает много времени.

Есть ли какая-либо формула, сценарий или небольшой кусок кода, который может сделать это.

1 ответ1

2

Если все OldID уникальны, добавьте в каждом листе вспомогательный столбец со следующим (предполагается, что список OldID/NewID находится на Sheet3, с OldID в столбце A и NewID в столбце B, а OldID на текущем листе в столбце A, начиная с в строке 2):

=VLOOKUP(A2,Sheet3!A:B,2,FALSE)

По сути, это означает: «Возьмите значение в A2 на текущем листе, найдите его в крайнем левом столбце A: B на Листе 3 и верните соответствующее значение во втором столбце A: B на Листе 3». Параметр FALSE указывает только прием данных, если для A2 найдено точное совпадение . (Нелогично, да.)

Как только это будет установлено для строки 2, скопируйте его на остальную часть листа. После того, как вы проверили выборочную проверку, чтобы убедиться, что это работает правильно, вы можете просто скопировать импортированные данные и использовать "Вставить значения", чтобы перезаписать столбец идентификаторов.

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