ГПТ для таблиц: разбираю выдачу трёх библиотечных книг. Как сохранить разные экземпляры, заметить пропущенного автора и проверить таблицу из LibraChat.
Андрей
Преподаватель, научный редактор
6 мин чтения
«Утро в лесу» встречается в заметках дважды. Рука тянется убрать повтор: останутся два названия, список станет короче. А потом я смотрю на сроки возврата. Первую книгу ждут 17 ноября, вторую — 19-го. Удалю строку и потеряю одну выдачу. Когда использую ГПТ для таблиц, начинаю с этого различия: что именно нельзя потерять при наведении порядка?
Коротко: журналу выдачи нужны все три записи, хотя названий всего два. Пустое поле автора я оставляю заметным. Таблица должна помочь найти книгу, а не создать впечатление заполненного журнала.
ГПТ для таблиц: сначала считаю выдачи
На занятиях я люблю просить: «Посчитай книги». Обычно в ответ хочется получить одно число. Но сначала приходится уточнить вопрос. Сколько разных произведений упоминается? Сколько физических экземпляров ушло с полки? Сколько записей мы переносим? В маленьком списке расхождение видно сразу. В большом его легко принять за ошибку подсчёта.
Для разбора я собрал такие заметки:
«Утро в лесу», Ирина Соколова, выдана 3 ноября, вернуть 17 ноября.
«Путь домой», автор не записан, выдана 4 ноября, вернуть 18 ноября.
«Утро в лесу», второй экземпляр, выдана 5 ноября, вернуть 19 ноября.
Названия здесь служат материалом упражнения. Меня интересует не литературная справка, а судьба третьей строки. В заметке прямо сказано: второй экземпляр. Значит, одинаковые слова в колонке «Название» нужны, их нельзя исправлять только за повтор.
Я отправил эти записи в LibraChat с просьбой разделить экземпляры, добавить идентификаторы, сохранить обе даты и пометить отсутствующего автора. Год тоже попросил не придумывать. Получился Excel-файл с пятью колонками. Я проверил 3 строки данных под заголовками: вторая выдача «Утра в лесу» сохранилась.
Идентификатор · Название · Автор · Дата выдачи · Дата возврата
1 — Утро в лесу — Ирина Соколова — 3 ноября — 17 ноября
2 — Путь домой — не указано — 4 ноября — 18 ноября
3 — Утро в лесу — не указано — 5 ноября — 19 ноября
Цифры 1, 2 и 3 помогают различать записи в этом файле. Настоящие инвентарные номера они не восстанавливают: их не было в заметках. Для рабочего журнала я взял бы номера с самих экземпляров. Так можно будет найти конкретную книгу, даже если её название записали немного иначе.
У второго «Утра» нет автора. И это видно
На третьей строке я задержался. Название то же, а вместо Ирины Соколовой стоит «не указано». Хочется протянуть знакомое имя из первой строки вниз. Зачем оставлять дыру, если речь о втором экземпляре?
Потому что я сейчас проверяю перенос записей. В третьей заметке имени нет. Файл сохранил это отсутствие, и я могу решить, как его устранить: посмотреть титульный лист или свериться с каталогом библиотеки. Если вписать имя сразу, мне уже будет трудно отличить перенесённое сведение от собственной догадки.
Это не значит, что таблица останется такой навсегда. Я бы уточнил автора и затем обновил ячейку. Но у исправления появится основание. Мне нравится, когда ученик может показать пальцем: вот откуда взялось это значение. Даже если пока вместо значения стоят два неприятных слова.
У «Пути домой» та же пометка, но проверить придётся другую книгу. Заполнение одной ячейки не закроет обе. Каждая относится к своему экземпляру и своей исходной записи.
С датами похожая история. В файле сохранены число и месяц без года. По ним можно сверить ноябрьские заметки, но нельзя решить, к какому году относится выдача. Я не стал бы считать по такому набору просрочку на сегодня. Сначала нужен год, причём из журнала или от человека, который делал запись.
Вот где меняется взгляд на «готовую таблицу». Три ровные строки уже есть. Для полноценного учёта ещё нужны сведения, которых в исходнике не было. LibraChat помог разложить написанное; искать отсутствующие данные придётся отдельно.
Одна галочка может убрать срок 19 ноября
Допустим, файл уже открыт в Excel и хочется почистить повторяющиеся названия. Здесь есть конкретная ловушка. При удалении дубликатов можно выбрать столбцы, по которым программа будет искать совпадение. Если выбрать только название, разные даты в соседних ячейках не защитят запись: при совпадении выбранного значения удаляется строка в пределах обрабатываемой таблицы.
Поэтому перед такой операцией я сохранил бы копию листа и сначала посмотрел совпадения. В нашем журнале повторное название ожидаемо. Удалять его оснований нет.
Для проверки я прохожу от заметки к файлу, а не просто перечитываю таблицу сверху вниз:
Нахожу выдачу от 3 ноября и срок 17 ноября в одной строке.
Проверяю «Путь домой»: выдача 4 ноября, возврат 18 ноября, автор пока неизвестен.
Ищу второй экземпляр «Утра в лесу» со сроком 19 ноября.
Считаю строки данных: их должно остаться три. Заголовок в этот счёт не входит.
Один подсчёт недостаточен. Можно получить три строки, случайно повторив первую вместо третьей. Поэтому я проверяю и количество, и связь значений внутри каждой записи. Вторая дата возврата у «Утра в лесу» здесь особенно полезна: она выдаёт потерю, которую само название скрывает.
А если мне нужен список названий для выставки? Тогда две строки вполне подходят. Я сделал бы его отдельно от журнала выдачи. У двух таблиц разные задачи: одна помогает собрать выставку, другая напоминает, что именно должно вернуться на полку.
Сначала маленький журнал, потом весь список
Попробуй собрать такой же журнал в чате LibraChat. Возьми фрагмент, где ты сам различаешь экземпляры, и сформулируй задачу примерно так:
Подготовь таблицу выдачи книг. Каждая исходная запись должна сохраниться отдельно, одинаковые названия не объединяй. Колонки: метка записи, название, автор, выдано, вернуть. Метки нужны только для сверки этого фрагмента. Не восстанавливай неизвестного автора и отсутствующий год. На месте пропуска напиши «не указано». Вот мои заметки: [вставь фрагмент].
Это задание можно сначала выполнить с таблицей прямо в ответе, без отдельного файла. В LibraChat такой формат предусмотрен; если нужен Excel, назови формат в просьбе. Возможности доступа сверяй на странице тарифов, когда станет понятен объём работы.
В большом журнале я бы ещё разделил постоянный номер экземпляра и номер выдачи: одна и та же книга после возврата снова уходит читателю. Наши три метки различают только текущий фрагмент. Расширять его стоит после проверки, а не заранее строить сложный учёт вокруг плохо понятой строки. Если исходник устроен иначе, пригодится разбор преобразования текста в таблицу.
А пока найди в своей таблице два одинаковых названия. По какой записи ты поймёшь, что вернулось именно то, что выдавали? В моём маленьком журнале ответ виден в третьей строке. Её ждут 19 ноября. Поэтому она остаётся.