Формулы и ссылки на ячейки
Электронная таблица превращается в калькулятор, который сам пересчитывает всё за вас
Пока в ячейках лежат просто числа и текст, таблица — это аккуратная тетрадь. Магия начинается, когда вы вписываете формулу: ячейка перестаёт хранить готовое значение и начинает его вычислять. Поменяли цену в одном месте — итог сметы пересчитался сам, без единого клика по калькулятору.
Формула — это инструкция для вычисления, которая всегда начинается со знака
=. Вместо самих чисел формула может ссылаться на адреса ячеек (например,A1,B2), и тогда результат автоматически обновляется при изменении этих ячеек.
Знак = превращает запись в вычисление
Любая формула начинается с =. Это сигнал программе: «дальше не текст, а то, что надо посчитать». Сравните две записи в одной и той же ячейке:
| Что вы вписали | Что покажет таблица | Почему |
|---|---|---|
2+3 | 2+3 | Нет знака = — это просто текст |
=2+3 | 5 | Есть = — таблица вычислила сумму |
В ячейке вы видите результат (5), а сама формула (=2+3) живёт в строке формул. Это важно: на экране — ответ, под капотом — инструкция.
Ссылки вместо чисел — главная идея
Можно написать =2+3, но настоящая сила в том, чтобы ссылаться на ячейки. Пусть в A1 лежит цена 200, а в B1 — количество 3. Тогда в C1 мы пишем =A1*B1 и получаем стоимость.
| A (цена) | B (кол-во) | C (формула) | C (результат) | |
|---|---|---|---|---|
| 1 | 200 | 3 | =A1*B1 | 600 |
Зачем так сложно? Потому что теперь, если поднять цену в A1 с 200 до 250, ячейка C1 сама станет 750. Вы меняете данные в одном месте — таблица пересчитывает всё, что от них зависит. Это и называется пересчётом, и ради него таблицы и придумали.
Ниже — мини-эмуляция: ячейки стали переменными, а формула — обычным выражением. Запустите, потом мысленно поменяйте цену и прикиньте новый ответ.
# A1 — цена, B1 — количество, C1 — стоимость (=A1*B1)
a1 = 200 # цена
b1 = 3 # количество
c1 = a1 * b1
print("Стоимость C1 =", c1)
# Поднимаем цену в A1 и пересчитываем
a1 = 250
c1 = a1 * b1
print("После роста цены C1 =", c1)
Стоимость C1 = 600 После роста цены C1 = 750
Обратите внимание: мы не трогали строку c1 = a1 * b1 — поменяли только a1. Так же ведёт себя и настоящая таблица: формула остаётся, а результат следует за данными.
Арифметика, скобки и порядок действий
В формулах работают привычные операторы: +, -, * (умножить), / (разделить). Действует обычный математический порядок: сначала умножение и деление, потом сложение и вычитание. Скобки ( ) меняют этот порядок.
| Формула | Результат | Почему |
|---|---|---|
=2+3*4 | 14 | Сначала 3*4=12, потом +2 |
=(2+3)*4 | 20 | Скобки идут первыми: 5*4 |
=10/2+3 | 8 | 10/2=5, потом +3 |
=10/(2+3) | 2 | Сначала скобки: 10/5 |
Цепочки вычислений
Формула может ссылаться на ячейку, в которой тоже стоит формула. Получается цепочка: одно значение опирается на другое. Например, итог зависит от суммы, а сумма — от стоимостей строк. Изменили исходник в начале цепочки — обновится всё до самого конца.
Пример: смета на ремонт
Соберём небольшую смету. В столбце D считаем стоимость каждой позиции (цена × количество = B*C), а в строке 4 — итог как сумму строк выше.
| A (товар) | B (цена) | C (кол-во) | D (формула) | D (итог) | |
|---|---|---|---|---|---|
| 1 | Краска | 350 | 4 | =B1*C1 | 1400 |
| 2 | Кисть | 120 | 3 | =B2*C2 | 360 |
| 3 | Плёнка | 90 | 2 | =B3*C3 | 180 |
| 4 | Всего | =D1+D2+D3 | 1940 |
Ячейка D4 — вершина цепочки: она зависит от D1, D2, D3, а каждая из них — от цены и количества. Подорожала краска? Правим одну клетку B1 — и D1, и общий итог D4 обновятся сами. Проверим арифметику кодом:
# Смета: цена * количество по строкам, затем общий итог
kraska = 350 * 4
kist = 120 * 3
plenka = 90 * 2
itogo = kraska + kist + plenka
print("Краска:", kraska)
print("Кисть :", kist)
print("Плёнка:", plenka)
print("ИТОГО :", itogo)
Краска: 1400 Кисть : 360 Плёнка: 180 ИТОГО : 1940
Числа совпали с таблицей — значит, формулы в столбце D составлены верно.
Когда формула ломается
Иногда таблица показывает не число, а ошибку. Две частые ситуации:
| Ошибка | Что значит | Пример |
|---|---|---|
#DIV/0! | Деление на ноль (или на пустую ячейку, которая считается нулём) | =B1/C1, когда в C1 стоит 0 |
| Циклическая ссылка | Формула ссылается сама на себя — напрямую или через цепочку | В A1 написать =A1+1 |
Деление на ноль лечится проверкой данных: убедитесь, что в знаменателе не ноль и не пусто. Циклическая ссылка возникает, когда ячейка зависит от собственного результата — таблица не может решить, что считать первым, и предупреждает вас.
Частые ошибки
- Забыли знак
=в начале — вместо вычисления в ячейке остаётся текст вродеA1+B1.- Вписали число прямо в формулу вместо ссылки на ячейку — тогда при изменении данных пересчёта не будет.
- Перепутали порядок действий и не поставили скобки:
=2+3*4даёт 14, а не 20.- Случайно сослались на саму ячейку и получили циклическую ссылку.
Коротко
- Формула всегда начинается со знака
=. - Ссылки на ячейки (
=A1*B1) важнее голых чисел: они дают автоматический пересчёт. - Действует обычный порядок действий; скобки меняют его.
- Формулы образуют цепочки — изменение в начале обновляет весь итог.
#DIV/0!— деление на ноль; циклическая ссылка — формула зависит сама от себя.