Удаление дубликатов Excel в данных курса: как сохранить разные попытки ученика
Повторный импорт строк может завысить число выполненных заданий. Но одинаковое имя участника ещё не означает дубль. Разберём очистку таблицы на примере учебных попыток с понятным ключом записи.
В этом материале
Определите, что представляет одна строка
Допустим, куратор вручную собирает результаты в Excel. Одна строка содержит код участника, задание, номер попытки и балл. Это внешняя рабочая таблица; готовая выгрузка такой структуры из Umhub здесь не предполагается. Перед очисткой нужно договориться, какое событие каждая запись описывает.
Для одного потока ключом будет сочетание «участник + задание + попытка». Повторная сдача того же задания имеет другой номер и должна сохраниться. Если в таблице несколько потоков, к ключу может понадобиться добавить поток или иной идентификатор. Набор полей выбирают по смыслу данных, а не по удобству выделения столбца.
Сохраните исходный файл и работайте с копией. Запишите число строк до обработки, дату получения и источник. Эти сведения помогут понять, почему новая сводная таблица ошибок отличается от предыдущей.
Проверьте правило на маленьком наборе
Создадим шесть условных записей в четырёх столбцах. Для кодов А, Б и В используем задания З1 и З2; баллы здесь нужны только для контроля сохранности.
А, З1, попытка 1, балл 4.
А, З1, попытка 1, балл 4 — повторно импортированная копия первой строки.
А, З1, попытка 2, балл 7.
Б, З1, попытка 1, балл 5.
Б, З2, попытка 1, балл 6.
В, З1, попытка 1, балл 3.
После удаления полного повтора должны остаться пять записей. У А сохраняются две попытки, у Б — два разных задания. Если оставить уникальные значения только по коду участника, получится три строки: полезные события исчезнут вместе с настоящим дублем.
До запуска команды отметьте ожидаемую удаляемую строку. На реальном большом списке сначала проверяйте несколько повторяющихся ключей вручную, чтобы не переносить неверное правило на весь набор.
Разделите совпадения и конфликты
Представим дополнительную ситуацию: для В, З1, попытки 1 появилась запись с баллом 8 вместо 3. Ключ совпал, но содержимое различается. Это уже не очевидная копия строки: возможно, оценку пересмотрели или ошиблись при переносе. Автоматическая команда не определит, какое значение верное.
Отложите такие записи в список конфликтов и проверьте первичный результат. Не выбирайте «последнюю» строку только потому, что она ниже на листе. Если источник содержит дату пересмотра и согласованное правило актуальности, зафиксируйте их; без этого обе версии требуют разбирательства.
Для поиска повторяющихся отдельных значений можно использовать условное форматирование. Microsoft описывает его в инструкции по поиску и удалению дублей. Подсветка одинакового кода участника сама по себе не проверяет составной ключ: она лишь помогает найти записи для просмотра.
Удалите подтверждённые копии по выбранным полям
В рабочем наборе выделите всю таблицу, включая столбец баллов. Откройте «Данные → Удалить дубликаты» и отметьте поля участника, задания и попытки. Проверьте обработку строки заголовков. В нашем исходном примере эти три поля однозначно определяют запись после проверки одинаковых баллов.
Согласно справке Microsoft о ключах дубликатов, выбранные столбцы задают сравнение, но при совпадении удаляется вся соответствующая строка внутри выделенного диапазона. Первая встреченная запись сохраняется. Поэтому столбец баллов нельзя оставлять снаружи обрабатываемой таблицы: данные должны перемещаться согласованно.
После подтверждения прочитайте сообщение о числе удалённых повторов. Для шести исходных строк ожидается один удалённый дубль и пять оставшихся записей. Если результат другой, отмените действие и проверьте диапазон, выбранные поля, пробелы и формат значений.
Сверьте результат по событиям
Проверьте не только общее количество. Найдите обе попытки А и убедитесь, что баллы 4 и 7 остались у своих номеров. Найдите оба задания Б с баллами 5 и 6. Сопоставьте оставшуюся запись В с исходником. Такой контроль обнаруживает потерю нужной строки, которую общий итог иногда скрывает.
Зафиксируйте удалённые записи или их идентификаторы отдельно от очищенной копии. При повторном объединении файлов станет понятно, какие события уже были учтены. Если таблицу готовят разные люди, согласуйте написание заданий и кодов до объединения. Приведение данных к единому виду должно сохранять смысл идентификаторов, включая значимые ведущие нули.
Для построения точечной диаграммы результатов курса затем отдельно выберите нужную попытку. Удаление дублей не означает автоматический переход к одной строке на ученика.
Передайте очищенную копию с правилами
В кратком протоколе укажите исходные шесть строк, один подтверждённый повтор и пять сохранённых событий. Для настоящего набора добавьте число конфликтов, которые ещё не решены. Не смешивайте их с успешно очищенными данными и не представляйте неполный набор как итог всего потока.
Повторите ту же проверку при следующем импорте. Хороший результат очистки — не минимальное число строк, а отсутствие повторного учёта одного события при сохранении разных попыток, заданий и решений проверяющего.
Источники
Создайте свой курс в Umhub
Примените то, что узнали: соберите программу, добавьте материалы и пригласите учеников.