У меня есть файл Excel или CSV с 5000 строк и 20 столбцов. Я хочу объединить столбец 6 и столбец 8, найти дубликаты, а затем скопировать только один из дубликатов в WorkSheet2.

Например:

Worksheet1

Column6  Column7     Column 8

275s     ABC         123

333s     ABC         111

275s     ZZZ         123

275s     DSD         123

333s     ???         111

275s     asd         999

В результате объединения столбцов 6 и 8 будет показано, что строки 1,3 и 4 являются дубликатами.

Строки 2 и 5 также являются дубликатами.

Тогда рабочий лист2 должен быть:

Column6  Column7     Column 8

275s     ABC         123

333s     ABC         111

275s     asd         999

1 ответ1

0

VBA может не понадобиться. Хелпер Колонны твой друг здесь. Попробуйте приведенные ниже формулы

  1. предполагая, что Column6 - это E а Column 8 - это G а нижние вспомогательные столбцы начинаются с Column9 / H
  2. если у вас есть данные в DataTable , у вас есть другая опция синтаксиса

R1C1

  • =Concatenate( E2, F2, G2 ) <- H
  • =Concatenate( E2, G2 ) <- I
  • =CountIfs( I:I, I2 ) <- J
  • =Row() <- K
  • =IF( J2=1, H1, INDEX(H:H, AGGREGATE( 15,6,K:K/--(I:I=I2), 1 ) ) ) <- L

Столбец L вернет первое найденное значение строки в столбце H для уникального значения сцепления в столбце I Если ваш набор данных очень большой, метод Index( Aggregate() ) может переполниться и завершиться ошибкой. Но при условии, что это работает, вы можете Copy-Paste Values Only из столбца L в новую рабочую таблицу и удалить дубликаты ( Alt+A+M чтобы вызвать диалог). Если вы разделите конкатенацию в столбце H , это поможет разделить значения обратно на столбцы в новой рабочей таблице.

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