Сравните два листа в Excel и извлеките различия на третий лист

Сравните два листа в Excel и извлеките различия на третий лист

Моя ситуация: Я получил огромную таблицу Excel от производителя продукции для своего интернет-магазина. Этот формат:

product ID | price | name | ...

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

  • Я собираюсь вставить старый список продуктов на лист1 (вручную)
  • Я собираюсь вставить новый список продуктов на лист 2 (вручную)
  • Сравните идентификаторы продуктов Sheet1 и Sheet2
  • Вставьте продукты (строки) из нового списка (Лист2) в Лист3, которых нет в старом списке (Лист1).

Так что результатом в Листе3 будут все новые продукты. Надеюсь, вы сможете подтолкнуть меня в правильном направлении.

С уважением

решение1

Я думаю, Вам может понадобиться что-то вроде этого:
=VLOOKUP(Sheet1!A1:A100,Sheet2!A1:F100,6,FALSE)

источник:https://stackoverflow.com/questions/15396677/excel-compare-two-cell-from-different-sheet-if-true-copy-value-from-other-cell

Конечно, вы также можете решить эту проблему, используя VBA с кнопками и прочими причудливыми штуками.

решение2

На самом деле, я бы сделал это совсем по-другому, используя надстройку PowerQuery от Microsoft, но я не знаю, насколько хорошо она работает в Excel 2010 (она не будет работать в Excel 2007). С ее помощью вы можете делать запросы на добавление с группировкой по идентификатору вашего продукта, чтобы получить уникальный список.

Другой способ сделать это — сохранить листы в разных файлах и использовать инструмент запросов Excel для объединения двух таблиц в новую таблицу.

В любом случае, как только у вас появится новая таблица, вы сохраните ее для подготовки к следующему объединению.

решение3

В Sheet2(обновленный элемент) добавьте столбец D, который проверяет, является ли продукт новым:

=MATCH(A2,Sheet1!$A:$A,0)>0

Добавьте столбец E, который присвоит TRUEзначениям в столбце D уникальный идентификатор.

=D5&COUNTIF(D$2:D2)

Теперь перейдите к Sheet3(новым элементам) и поместите столбец индекса, скажем, в столбец E со значениями TRUE1, TRUE2, TRUE3и т. д., столько, сколько, по вашему мнению, вам когда-либо понадобится (например, если в один прекрасный день появится 20 новых элементов, а вы дошли только до TRUE15, то вы пропустите 5 элементов).

Затем вы можете внести новые предметы с помощью:

=INDEX(Sheet2!A:A,MATCH($E2,Sheet2!$E:$E,0))

Связанный контент