Абсолютные ссылки в Calc
Создано: 11.01.2026
В конце прошлого урока мы нашли медиану с помощью соответствующей встроенной в Calc функции. Но если посмотреть на формулу, то в ней есть нечто странное. В диапазоне для функции МЕДИАНА() имена столбцов и номера строк предваряет знак доллара.
Проделаем небольшой опыт. Скопируем или распространим содержимое ячейки C1 на B1, а ячейку C3 на B3. Мы увидим, что значение медианы осталось таким же, в то время как сумма поменялась.
Если в C3 вычислялась сумма столбца K, то в B3 суммируется J, который находится перед K. Получается, что если мы перемещаем формулу на одну клетку влево, то и ссылки в ней начинают указывать на одну ячейку левее. Не будь этой ключевой особенности электронных таблиц, нельзя было бы выполнять автозаполнение с формулами. Мы пользовались им, когда вычисляли суммы отдельных строк (количество продаж за каждую неделю). Там при распространении формулы вниз вычислялась сумма строк ниже.
Однако подобное поведение не всегда желательно. Например, при нахождении медианы трудно представить, что при переносе формулы диапазон ячеек также должен меняться. Ведь медиана обычно определяется для большого массива данных, который чаще всего остается на месте. Поэтому исходно в функции МЕДИАНА() используется абсолютная адресация. В таких абсолютных ссылках, в отличие от используемых по-умолчанию относительных, адреса ячеек фиксируются. Это значит, они не меняются при копировании/перемещении/распространении формулы на другие ячейки.
При этом не обязательно, чтобы в формуле все ссылки были либо абсолютными, либо относительными. Представьте, что вам надо умножить числа в столбце на одно и то же значение, которое позже может быть изменено. Например, в одной колонке цены в рублях, а рядом должны быть цены в долларах, чей курс изменчив.
На скрине выше предваряющий число знак доллара в A1 не вводился, он появился, так как был выбран денежный формат ячейки и указана валюта USD. Итак, выделяем D2, вводим =, кликаем C2, вводим знак деления, кликаем A1. После этого нажмем F4 на клавиатуре, в результате чего относительная ссылка A1 превратится в абсолютную $A$1. Нажмем Enter.
Теперь при распространении формулы на D3:D5 в ней будет меняться адрес делимого, но адрес делителя оставаться прежним. Изменив курс доллара, вы увидите, что поменялась и цена в долларах у всех продуктов. Изменив цену одного из товаров, вы увидите, что поменялась цена в долларах только этого товара.
Зададимся вопросом, зачем в абсолютном адресе знаком доллара предварять как имя столбца, так и номер строки? Почему недостаточно записать $A1, а надо $A$1, чтобы зафиксировать ячейку? Дело в том, что может фиксироваться только строка или только столбец, поэтому ссылка $A1 не полностью абсолютная. Если использовать такую в формуле, то при ее распространении вверх-вниз (по вертикали) столбец меняться не будет, только строки. Если ее распространять по горизонтали, то разницы с $A$1 не будет. Потому что в этом случае строка и так не меняется.
В случае нашего примера (на скрине выше), так как мы распространяем формулу вниз и не меняем столбец, одинаково будут работать как ссылка $A$1, так и A$1. Для переключения между различными вариантами ссылок, надо установить в формуле курсор в адрес и нажимать F4.
Понятно, что частично абсолютные адреса используются реже, в более сложных расчетах. Представим, что сеть магазинов добавляет разную наценку к товарам в зависимости от региона расположения торговой точки. При этом цена в каждой следующей "зоне удаленности" рассчитывается исходя из предыдущей. Другими словами, сам процент наценки остается тот же, но исходная цена для расчета меняется.
На скрине выше формула создается только в I2, на все остальные ячейки "зон" она распространяется. Поскольку в адресе G2 мы фиксируем только столбец, то при заполнении вправо ссылка на ячейку в этом столбце будет работать как абсолютная. Так в J2 будет формула =I2+I2*$G2. С другой стороны, при распространении формулы вниз номер строки в адресе G2 будет меняться. Так в I3 получится формула =H3+H3*$G3, а в J3 — =I3+I3*$G3.