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

РЕДАКТИРОВАТЬ: Чтобы уточнить, о каких данных я говорю: это список стальных объектов, которые получаются путем сварки нескольких других стальных объектов. Так что мои данные выглядят примерно так:

Пункт --- Компонент --- Необходимое количество --- Другие столбцы ...
Item1 --- Component1 --- 1 --- ...
Item1 --- Component3 --- 2 --- ...
Item1 --- Component8 --- 1 --- ...
Пустая строка (только для удобства чтения данных, не требуется)
Item2 --- Component3 --- 2 --- ...
Item2 --- Component4 --- 3 --- ...
Пустая строка (только для удобства чтения данных, не требуется)
Item3 --- Component3 --- 2 --- ...
Item3 --- Component4 --- 3 --- ...
Пустая строка (только для удобства чтения данных, не требуется)
Item4 --- Component8 --- 1 --- ...
Пустая строка (только для удобства чтения данных, не требуется)
...

Как видите, только блоки строк для элементов 2 и 3 идентичны. Таким образом, они должны быть отмечены как дубликаты. Третий ряд первого блока и первый ряд четвертого блока идентичны, но, поскольку не все блоки идентичны, их следует игнорировать.
Надеюсь, это немного прояснит ситуацию.

1 ответ1

1

Вы можете сделать это с помощью некоторого вспомогательного столбца:

  1. создайте столбец, в котором вы объединяете все описания компонентов:
    =IF(A2=A1,E1&",","")&B2
  2. создайте столбец, чтобы показать, является ли строка последней из элемента:
    =A2<>A3
  3. в следующем столбце вы можете показать, является ли элемент дубликатом:
    =IF(E2="","",IF(A2=A3,G3,COUNTIFS($E$2:$E$13,E2,$F$2:$F$13,TRUE)>1)) , где:
    • =IF(E2="","",...) - просто оставьте ячейку пустой, если строка пуста
    • IF(A2=A3,G3,...) - распределяет одинаковое значение для всех строк элемента из его последней строки (где у него есть полный список компонентов)
    • COUNTIFS($E$2:$E$13,E2,$F$2:$F$13,TRUE)>1) - проверяет, дублирован ли элемент

Это решение помечает все дубликаты, хорошо отфильтровать их, если вы хотите вместо них удалить их, то, возможно, вы не хотите фильтровать для первых появлений, только для повторений, в этом случае просто измените ссылку с $E$2:$E$13 до $E$2:$E2

Обновление 1

Если порядок компонентов не одинаков во всех элементах, то вам нужно отсортировать их, чтобы этот процесс работал: сначала по компоненту, а затем по элементу.

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