# ОП.03 · Тема 8 · Google Таблицы: подготовка данных

100 экранов: 90 слайдов 264–353 в исходной нумерации плюс 10 дополнений с буквенными суффиксами (272a, 272b, 273a, 277a, 319a, 324a, 330a, 337a, 337b, 340a).

## Почему Google Таблицы

Исходный сценарий (SOURCE.md) построен на Power Query в Excel для Windows. 30.09.2026 по решению автора курса тема переведена на Google Таблицы: на машине съёмки нет Excel с Power Query. SOURCE.md сохранён без изменений как исходник; колода собирается из SHEETS.md.

Замена сохраняет идею темы — правила записываются один раз и повторяются на новых данных:

- Source → лист source, куда CSV импортируется как текст (флажок «Преобразовывать текст в числа, даты и формулы» снят);
- Applied Steps → по одной формуле ARRAYFORMULA во второй строке каждого столбца листа leads_clean;
- Refresh → повторный импорт новой выгрузки на тот же лист source с целью «Заменить текущий лист»; формулы пересчитываются сами;
- ошибка шага Power Query → формула проверки заголовков на отдельном листе check (формулы находят данные по буквам столбцов, перестановка столбцов в CSV ошибки не даёт).

## Последовательность

- 264–277: повторение, правила вместо ручной правки, ETL, учебный CSV, контракт.
- 278–287: пустая таблица, импорт, лист source, лист leads_clean.
- 288–292: первая формула, устройство листа правил, ссылки на лист, региональные настройки.
- 293–302: типы, ЗНАЧЕН, #VALUE! у wrong_date, подсказка ошибки, формат «Дата и время».
- 303–305: СЖПРОБЕЛЫ и ПЕЧСИМВ.
- 306–322: SPLIT, СТРОЧН, точная замена tg через LET и ЕСЛИ, фильтр status.
- 323–329: показ формул, сравнение source и результата, итоговая таблица.
- 330–337: v2, #REF! при ручном вводе, повторный импорт, REQ-006, скачивание результата.
- 338–348: порядок столбцов, проверка структуры, границы очистки.
- 349–353: практика, контрольные кадры, вопросы, переход к теме 9 (Instagram → ManyChat).

## Отличия от Power Query, учтённые в тексте

1. СЖПРОБЕЛЫ в Google Таблицах сжимает повторные пробелы внутри строки, поэтому отдельная замена двух пробелов на один не нужна.
2. Функции показываются по-русски при региональных настройках «Россия»; разделитель аргументов — точка с запятой (слайд 292).
3. Подсказка ошибки называет функцию по-английски (VALUE), строка формул показывает #ЗНАЧ! (слайд 300).
4. Столбец G заполняется формулой из F2 (SPLIT); ввод в ячейки, которые занимает формула, даёт #REF! (слайды 308, 332).
5. Результат не загружается отдельной командой: лист leads_clean пересчитывается сразу. Для сдачи он скачивается как CSV (приходит в «Загрузки») и переносится в result.
6. Проверка структуры стоит на отдельном листе check: на листе leads_clean она попала бы в скачанный CSV лишними столбцами J и K (проверено 30.09.2026).

## Файлы

- index.html, styles.css, script.js — веб-презентация (генерируется).
- build.mjs — сборка HTML, списка кадров и ZIP из SHEETS.md.
- SHEETS.md — тексты 90 слайдов; SOURCE.md — исходник на Power Query, не используется при сборке.
- files/data-cleaning-lab.zip — папка практики lesson_data_cleaning: CSV v1, резервная v1, v2, result и README с формулами.
- materials.html — скачивание файлов, ожидаемые результаты, список кадров.
- SCREENSHOTS.md, shots/manifest.json — 49 кадров; shots/evidence.json — как и где они сняты.

Сборка: node build.mjs из этой папки. Сгенерированные HTML вручную не редактировать.

## Источники

Справка Google Таблиц: импорт (answer/40608), ARRAYFORMULA, СЖПРОБЕЛЫ, ПЕЧСИМВ, SPLIT, СТРОЧН, LET, ЗНАЧЕН, JOIN. Поведение каждой формулы проверено в таблице leads_cleaning на v1 и v2.
