Импорт данных и базовая автоматизация
Урок про то, как затащить готовые данные в таблицу и поручить ей самой повторять скучную работу.
Автоматизация таблицы — это перекладывание повторяющихся действий (импорт, пересчёт, форматирование отчёта) на саму программу, чтобы не делать их руками каждый раз.
Мы умеем считать формулами и формулами массива. Но прежде чем считать, данные нужно куда-то загрузить, а готовый отчёт — регулярно обновлять. Если делать это вручную каждую неделю, уходит время и появляются ошибки. Этот урок — обзор того, как таблица берёт данные извне и как поручить ей рутину.
Импорт данных из CSV
CSV (Comma-Separated Values) — простейший текстовый формат: строки таблицы записаны построчно, а ячейки разделены запятыми или точками с запятой. Почти любая программа умеет выгружать данные в CSV, поэтому это универсальный «мост» между системами.
Имя,Класс,Балл
Анна,9А,87
Борис,9Б,73
Вера,9А,95Чтобы загрузить такой файл, в Google Sheets выбирают Файл → Импортировать и указывают CSV; в Excel — Данные → Из текста/CSV. Программа спросит разделитель (запятая или точка с запятой) и кодировку — для русского текста чаще всего нужен UTF-8, иначе кириллица превратится в «кракозябры».
Импорт прямо из веба
В Google Sheets есть формулы, которые тянут данные из интернета без скачивания файлов:
IMPORTDATA("ссылка.csv")— загружает CSV-файл по прямой ссылке прямо в ячейки.IMPORTHTML("ссылка"; "table"; 1)— вытаскивает первую таблицу с веб-страницы.
=IMPORTDATA("https://example.com/ocenki.csv")Эти формулы периодически обновляются сами, так что таблица всегда показывает свежие данные источника.
Макросы: запись действий
Если каждую неделю вы делаете одну и ту же последовательность — выделить, отсортировать, покрасить «шапку», поставить рамки — это можно записать как макрос. В Google Sheets: Расширения → Макросы → Записать макрос. Программа запоминает ваши клики, и в следующий раз весь набор действий выполняется по одному нажатию или горячей клавише.
Макрос — это автоматизация «без программирования»: вы просто показываете таблице, что делать, а она повторяет. Под капотом, правда, запись превращается в код — и его можно потом подправить.
Идея Apps Script
За макросами стоит Google Apps Script — встроенный язык на основе JavaScript, на котором пишут собственные функции и сценарии. Полноценное программирование выходит за рамки урока, но важно понять идею: скрипт умеет то, чего не умеют формулы, — например по расписанию очищать лист, отправлять письмо или собирать отчёт из нескольких таблиц.
Простейший скрипт, который пишет приветствие в ячейку A1, выглядит так (это код «для чтения», запускать его в браузере-песочнице нельзя — он работает только внутри Google):
function privet() {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange("A1").setValue("Отчёт обновлён");
}Открывается редактор через Расширения → Apps Script. Скрипт можно повесить на кнопку или на триггер по времени — тогда он сам запустится, скажем, каждый понедельник в 9 утра.
Как это работает: автоматический отчёт
Соберём логику типового недельного отчёта по успеваемости. Идея конвейера: данные приходят из CSV → формулы считают показатели → скрипт по расписанию обновляет лист. Сами расчёты несложно проверить на Python — посчитаем средний балл и долю сдавших порог 75:
data = [("Анна", 87), ("Борис", 73), ("Вера", 95), ("Глеб", 60), ("Дина", 78)]
balls = [b for _, b in data]
sredniy = sum(balls) / len(balls)
sdali = sum(1 for b in balls if b >= 75)
dolya = sdali / len(balls) * 100
print("Средний балл:", round(sredniy, 1))
print("Сдали (>= 75):", sdali, "из", len(balls))
print("Доля сдавших, %:", round(dolya, 1))Вывод:
Средний балл: 78.6 Сдали (>= 75): 3 из 5 Доля сдавших, %: 60.0
В таблице те же числа дадут формулы: СРЗНАЧ(B2:B6) для среднего, СЧЁТЕСЛИ(B2:B6; ">=75") для количества сдавших. Доля считается как
$$ \text{доля} = \frac{\text{сдали}}{\text{всего}} \cdot 100\% = \frac{3}{5} \cdot 100\% = 60\% $$
Связка получается такой: один раз настраиваем формулы и скрипт, дальше каждую неделю достаточно подложить свежий CSV — отчёт пересчитается сам.
Частые ошибки
- Неверная кодировка CSV. Кириллица в «кракозябрах» — почти всегда не та кодировка. Импортируйте как UTF-8.
- Перепутан разделитель. Если все данные легли в один столбец, выбран не тот разделитель (запятая вместо точки с запятой или наоборот).
- Десятичная запятая в CSV. В русских данных дробное число
3,5может конфликтовать с запятой-разделителем — тогда числа читаются как текст. - Скрипт без разрешений. При первом запуске Apps Script просит доступ к таблице; пока не подтвердите, он не выполнится.
- Автоматизировали разовую задачу. Запись макроса и скрипт оправданы для регулярной рутины. Для разового действия проще сделать руками.
Итоги
- CSV — универсальный текстовый формат обмена; при импорте следите за разделителем и кодировкой UTF-8.
IMPORTDATAиIMPORTHTMLтянут данные из веба прямо в ячейки и обновляются сами.- Макрос записывает последовательность действий и повторяет её одним нажатием.
- Google Apps Script (на основе JavaScript) автоматизирует то, что не под силу формулам, и запускается по триггеру времени.
- Автоматический отчёт — это конвейер «импорт → формулы → скрипт по расписанию»; настраивается один раз.