Сопоставление данных в Excel - PullRequest
1 голос
/ 08 февраля 2012

У меня есть два отдельных файла Excel, содержащие старый и новый регистр электрических установок, оба из которых содержат записи электрических установок, идентифицированных одним и тем же номером актива.

Первый файл - это наш старый регистр активов, содержащий старый номер актива.и полное описание того, что это за растение.Второй файл - это новый реестр активов.В некоторых случаях люди, которые сделали наш новый реестр активов, содержали подробное описание того, что представляет собой часть растения, но когда они увидели наш старый номер актива на некоторых частях растения, они просто использовали его в качестве описания.

Что мне нужно сделать, это вытащить из старого файла описание любых записей в новом файле, где описание = номер актива этого куска завода в старом файле.

Т.е.

if (current_cell_value exists in old register)
  {pull description of that item from old register and store in corresponding cell in new register;}

Старый файл выглядит так:

5538 PC
2398 Monitor

Новый файл выглядит следующим образом:

1449449 Office  IEC LEAD
1449450 Office  MONITOR
1449451 Office  5538
1449452 Office  2398
1449453 Office  IEC LEAD

В конечном итоге я хочу новыйфайл должен выглядеть так:

1449449 Office  IEC LEAD
1449450 Office  MONITOR
1449451 Office  PC
1449452 Office  MONITOR
1449453 Office  IEC LEAD

Как бы я это сделал?

1 Ответ

3 голосов
/ 08 февраля 2012

Предполагая, что вы можете скопировать старые столбцы таблицы активов A и B на пустой лист в новой рабочей книге, давайте поместим их на лист с именем "OLD", снова в столбцы A и B.

Теперь предположим, что ваш новый набор данных - это столбцы A, B и C, и это столбец C, где вам нужно изменить «некоторые» значения.

В пустом столбце, скажем, D2, поместите эту формулу и скопируйте:

=IF(ISNUMBER(MATCH(C2, Old!$A:$A, 0)), VLOOKUP(C2, Old!$A:$B, 2, 0), C2)

Теперь у вас есть новый набор значений, и, надеюсь, все числовые значения совпадают, и теперь отображается старое описание регистра.

Выделите новый столбец значений и скопируйте их. Нажмите на исходный набор значений в столбце C и выполните команду Правка> Специальная вставка> Значения

Теперь очистите столбец D, и все готово.

ПРИМЕЧАНИЕ: Если вы используете Excel 2007+, тогда вы можете использовать более простую формулу, чем выше, вы можете использовать это:

=IFERROR(VLOOKUP(C2, Old!$A:$B, 2, 0), C2)
...