Типы ссылок в excel

Обновлено: 04.07.2024

Этот вопрос я слышу почти на каждом тренинге, да и на нашем форуме он всплывает с завидной периодичностью. Давайте, наконец, разберемся - что же это за хитрый режим ссылок, как с ним бороться и для чего он, собственно говоря, вообще предназначен.

Что это

Классическая и всем известная система адресации к ячейкам листа в Excel представляет собой сочетание буквы столбца и номера строки - морской бой или шахматы используют ту же идею для обозначения клеток доски. Третья сверху во втором столбце ячейка, например, будет иметь адрес B3. Иногда такой стиль ссылок еще называют "стилем А1". В формулах адреса могут использоваться с разным типом ссылок: относительными (просто B3), абсолютными ($B$3) и смешанного закрепления ($B3 или B$3). Если с долларами в формулах не очень понятно, то очень советую почитать тут про разные типы ссылок, прежде чем продолжать.

Однако же, существует еще и альтернативная малоизвестная система адресации, называемая "стилем R1C1". В этой системе и строки и столбцы обозначаются цифрами. Адрес ячейки B3 в такой системе будет выглядеть как R3 C2 (R=row=строка, C=column=столбец). Относительные, абсолютные и смешанные ссылки в такой системе можно реализовать при помощи конструкций типа:

  • R C - относительная ссылка на текущую ячейку
  • R2 C2 - то же самое, что $B$2 (абсолютная ссылка)
  • R C5 - ссылка на ячейку из пятого столбца в текущей строке
  • R C[-1] - ссылка на ячейку из предыдущего столбца в текущей строке
  • R C[2] - ссылка на ячейку, отстоящую на два столбца правее в той же строке
  • R[2] C[-3] - ссылка на ячейку, отстоящую на две строки ниже и на три столбца левее от текущей ячейки
  • R5 C[-2] - ссылка на ячейку из пятой строки, отстоящую на два столбца левее текущей ячейки
  • и т.д.

Ничего суперсложного, просто слегка необычно.

Как это включить/отключить

Мало кто использует этот режим осознанно. Обычно он случайно включается сам, например, при открытии кривых выгрузок из 1С в Excel и в некоторых других ситуациях. Отключить его совсем несложно. Самый простой путь:

В Excel 2007/2010: кнопка Офис (Файл) - Параметры Excel - Формулы - Стиль ссылок R1C1 (File - Excel Options - Formulas - R1C1-style)

В Excel 2003 и старше: Сервис - Параметры - Общие - Стиль ссылок R1C1 (Tools - Options - General - R1C1-style)

Если вам приходится делать это часто, то имеет смысл создать простой макрос, переключающий эти два режима туда-обратно:

Можно сохранить его в личную книгу макросов и повесить на кнопку на панели инструментов или на сочетание клавиш (как это сделать описано тут).

Где это может быть полезно

А вот это правильный вопрос. Если звезды зажигают, то это кому-нибудь нужно. Есть несколько ситуаций, когда режим ссылок R1C1 удобнее, чем классический режим А1:

    При проверке формул и поиске ошибок в таблицах иногда гораздо удобнее использовать режим ссылок R1C1, потому что в нем однотипные формулы выглядят не просто похоже, а абсолютно одинаково. Сравните, например, одну и ту же таблицу в режиме отладки формул (CTRL+


Найти ошибку в режиме R1C1 намного проще, правда?

  • Если большая таблица с данными на вашем листе начинает занимать уже по нескольку сотен строк по ширине и высоте, то толку от адреса ячейки типа BT235 в формуле немного. Видеть номер столбца в такой ситуации может быть гораздо полезнее, чем его же буквы.
  • Некоторые функции Excel, например ДВССЫЛ (INDIRECT) могут работать в двух режимах - A1 или R1C1. И иногда оказывается удобнее использовать второй.
  • В коде макросов на VBA часто гораздо проще использовать стиль R1C1 для ввода формул в ячейки, чем классический A1. Так, например, если нам надо сложить два столбца чисел по десять ячеек в каждом (A1:A10 и B1:B10,) то мы могли бы использовать в макросе простой код:

т.к. в режиме R1C1 все формулы будут одинаковые. В классическом же представлении в ячейках столбца С все формулы разные, и нам пришлось бы писать код циклического прохода по каждой ячейке, чтобы определить для нее формулу персонально, т.е. что-то типа:

Ссылки по теме

Спасибо за разъяснение. Всегда больше всего интересовал вопрос "почему". На мелких таблицах RC режим бесил, на крупных стал более понятен, но все на уровне интуиции. Для такого можно использовать функцию СМЕЩ (OFFSET) - она выдает ссылку на диапазон, сдвинутый относительно исходного на определенное число строк и столбцов.
Например =СМЕЩ(A1;3;2) даст ссылку на B3


Обычно, если для расчетов используется значение какой-то ячейки, то при составлении расчетной конструкции (=. ) просто в нужном месте конструкции щёлкают по нужной ячейке, и ссылка на нее сама вставляенся в конструкцию.
Ещё можно присвоить нужной ячейке имя (выделить её, далее Меню-Вставка-Имя-Присвоить), например, Мой_рост, а потом использовать его в конструкции (=. +Мой_рост/. ). К моменту обращения к этой ячейке (т.е. до начала расчета) там должно находиться нужное/конкретное значение. Именованную ячейку можно "перетаскивать" в любое другое место, даже на другой лист, и там она будет с именем "Мой_рост".
Кстати, вышесказанное работает в любом стиле - "R1C1" и "A1".

:)

Не за что! Будем стараться и дальше

:)

Спасибо. Разъяснили!


;)

Почему "каша"? Лично я предпочитаю работать и программировать в Excel (кстати, 2003) именно в стиле "R1C1". Считаю, очень удобно, наглядно, логично и "математично". "AE:8" или (8,31), "BB:12" или (12,54) - что понятнее и естественнее? "R1C1" - это же Декартова система координат (Y,X) в школьном учебнике!

:)

Old school
Для именно программирования он, кстати, однозначно удобнее, абсолютно согласен.


Да, "Old school", возможно, теперь этому в школе не учат по системе ЕГЭ.


Недавно открыл для себя ещё одну мега удобную вещь,которую можно сделать только с этим стилем. На сайте вроде не встречал, так что поделюсь с читателями, может кому пригодится.

Если в формуле хочется использовать именованные диапазоны (RangeNames), то есть вместо формулы B3*B4 иметь что-то вроде Объем * Цена, то обычно выделяют всю строку(столбец) с исходными данными, то есть получается массив (или вектор - назовите как хотите), например "Выручка" - В3:X3, "Цена" - B4:X4. Тогда, конечно, можно вводить эти имена в формулу, и формула примет более благообразный и понятный вид, но есть несколько но
- при использовании некоторых формул, например МАКС, Excel будет использовать весь массив в качестве аргумента, то есть если у вас две цены Цена1; Цена 2, то с формулой Макс (Цена1, Цена2) посчитается не максимальная цена из двух цен в текущем столбце, а максимальная цена за весь период.
- Если зайти в режим редактирования - то будет подсвечиваться весь диапазон - тоже не всегда удобно и понятно, откуда берутся значение для формулы

Но можно задать не статичный диапазон, а смещающийся. Надо зайти в режим R1C1 и при создании диапазона не фиксировать столбец, то есть вместо R3C2:R3C24 вписать R3C. Тогда в любой ячейке Excel при использовании этого диапазона будет использоваться значение из третьего ряда и текущего столбца, причём даже в режиме ссылок A1. И, что самое интересное, в режиме А1 адрес диапазона будет меняться, в зависимости от того, в какой ячейке вы находитесь. По мне, так это какая-то магия, если честно. Таки образом решаются вышеупомянутые проблемы.

Надеюсь, понятно объяснил. Пока писал, понял, что можно подобную вещь и без этого стиля ссылок сделать, но всё равно не так красиво получится.

Это простая, но весьма полезная функция, позволяющая создать живую ссылку на:

  • любую ячейку на любом листе в книге
  • именованный диапазон
  • фрагмент умной таблицы
  • внешний файл Excel на диске или на сервере в сети
  • веб-страницу

Кроме того, эта функция умеет создавать заполненную форму письма email, что сильно помогает при рассылке типовых оповещений.

Синтаксис функции прост:

=ГИПЕРССЫЛКА( Адрес ; Текст )

  • Текст - это видимый текст гиперссылки в ячейке (обычно выделенный синим цветом и подчеркиванием, как все гиперссылки), по которому щелкает пользователь. Может быть любым, это роли не играет.
  • Адрес - место, куда мы хотим сослаться (и это самое интересное).

Давайте рассмотрим все варианты подробнее.

Ссылка на веб-страницу

Это самый простой и очевидный вариант применения нашей функции ГИПЕРССЫЛКА (HYPERLINK) . Первым аргументом здесь будет полная ссылка на веб-страницу (URL):

Ссылка на сайт функцией ГИПЕРССЫЛКА

Обратите внимание, что адрес должен быть полным, т.е. обязательно начинаться с протокола (обычно "http"). При щелчке по созданной ссылке заданный сайт откроется в браузере по умолчанию.

Ссылка на ячейку внутри книги

Если нужна ссылка на ячейку или диапазон, находящийся внутри текущей книги, то адрес нужно будет указать следующим образом:

Внутренняя ссылка

Если имя листа содержит пробелы, то его обязательно заключать в апострофы - иначе ссылка не сработает:

Ссылка на имя листа с пробелами

Ссылка на ячейку во внешней книге

Можно легко создать ссылку на ячейку во внешней книге. Тогда в качестве первого аргумента нужен будет полный путь к файлу (с расширением!), имя листа и адрес ячейки:

Ссылка на диапазон во внешней книге

Аналогично внутренней ссылке, если имя листа содержит пробелы, то его необходимо дополнительно заключить в апострофы.

Ссылка на файл на сервере

Также поддерживаются сетевые ссылки, если файл сохранен, например, на корпоративном сервере в общей папке - в этом случае используется путь в формате UNC, начинающийся с двух обратных дробей:

Ссылка на файл в корпоративной сети

Ссылка на именованный диапазон

Если вы создали именованный диапазон (например, через Формулы - Диспетчер имен - Создать), то можно спокойно использовать это имя в ссылке:

ГИПЕРССЫЛКА и именованный диапазон

Если нужно сослаться на именованный диапазон во внешнем файле, то потребуется уточнить его имя и путь к нему, как в предыдущем пункте. Имя листа указывать уже не нужно:

Внешняя ссылка на именованный диапазон

Ссылка на умную таблицу или ее элементы

Если вы знакомы с умными таблицами, то знаете какая это полезная штука. При желании, можно легко создать с помощью функции ГИПЕРССЫЛКА (HYPERLINK) ссылку на любой нужный нам фрагмент умной таблицы или на нее целиком. Для этого в первом аргументе нужно указать имя таблицы (например Таблица1) и кодовое обозначение ее элемента:

ГИПЕРССЫЛКА на умную таблицу

Поддерживаются следующие обозначения:

Формирование заполненной формы письма email

Это относительно экзотический вариант применения функции гиперссылка, позволяющий создавать заполненный бланк электронного письма:

Создание письма

При щелчке по такой ссылке мы увидим вот такую красоту:

Бланк письма, созданный функцией ГИПЕРССЫЛКА

Можно указывать несколько адресатов, получателей обычной и скрытой копий, форматировать текст письма и т.д. Очень удобно для служебных уведомлений и рассылок. Единственное, что нельзя таким образом сделать - прикрепить вложения. Подробнее про все возможности и параметры такого способа рассказано в отдельной статье.

Использование нестандартных символов

Иногда можно сочетать функцию ГИПЕРССЫЛКА с функцией вывода нестандартных знаков СИМВОЛ (CHAR), которую мы уже разбирали. Это позволяет заменить простой текст ссылки на что-то более симпатичное:

Как включить или отключить стиль ссылок R1C1 в Excel?

Как уже говорилось выше, по умолчанию в Excel используется стиль ссылок A1, поэтому чтобы начать работать с R1C1 сначала надо его включить. Для этого заходим в Файл -> Параметры и во вкладке Формулы и в блоке Работа с формулами ставим галочку напротив поля Стиль ссылок R1C1:

Настройка параметров вида формул


Соответственно, если нужно вернуться к стандартному варианту адресации вида A1, то стиль R1C1 можно отключить убрав соответствующую галочку в настройках.

Особенности и отличия стилей адресации A1 и R1C1

Внешнее отличие рабочего окна


Как известно, в Excel есть 3 типа ссылок (тут можно почитать подробнее): относительные (А1), абсолютные ($А$1) и смешанные ($А1 и А$1), где знак доллара ($) служит закреплением номера строки или столбца.
В случае со стилем R1C1 также можно использовать любой тип ссылки, но принцип их составления будет несколько другим:

  • RC. Относительная ссылка на текущую ячейку;
  • R1C1. Абсолютная ссылка на ячейку на пересечении строки 1 и столбца 1 (аналог $A$1);
  • RC2. Ссылка на ячейку из 2 столбца текущей строки;
  • R3C. Ссылка на ячейку из 3 строки текущего столбца;
  • RC[4]. Ссылка на ячейку на 4 столбца правее текущей ячейки;
  • R[-5]C. Ссылка на ячейку на 5 строк выше текущей ячейки;
  • R6C[7]. Ссылка на ячейку из 6 строки и на 7 столбцов правее текущей ячейки;
  • и т.д.

В общем и целом, получается, что аналогом закрепления строки или столбца (символа $) для стиля R1C1 является использование чисел после символа строки или столбца (т.е. после букв R или C).

В итоге, основное и самое главное отличие между А1 и R1C1 состоит в том, что для относительных ссылок стиль А1 за точку отсчета берет начало листа, а R1C1 ячейку в которой написана формула.
Именно на этом и строятся основные преимущества использования R1C1, давайте подробнее на них остановимся.

Преимущества стиля ссылок R1C1

Можно выделить 2 основных преимущества, при которых использовать R1C1 предпочтительнее, чем A1: при проверке формул (поиске ошибок) и в макросах.

Рассмотрим пример: возьмем простую таблицу, в которой проверим на корректность расчета формулы в последнем столбце:

Расчет формул. Вариант 1.


Видите ошибку?

На первый взгляд может показаться, что никаких ошибок нет и все нормально, формулы похожи друг на друга, из общего ряда ничего не выбивается. Но если присмотреться более внимательно, то можно заметить, что на самом деле ошибка есть и в 4 и 5 строках формулы поменяны местами друг с другом.

Давайте теперь посмотрим эту же таблицу со стилем ячеек R1C1:

Расчет формул. Вариант 2.


В данном случае сразу видно, что формулы в 4 и 5 строках не похожи на другие, и найти ошибку уже гораздо проще.
На таблицах большего размера выискивать ошибку будет еще труднее, поэтому данный способ поиска может существенно упростить и ускорить процесс.

Аналогичный прием можно применить и в случае с работой с ячейками при создании макросов.
В случае, если нам нужно прописать для диапазона ячеек формулы произведения двух столбцов (как в примере выше), то для стиля R1C1 все формулы будут записываться абсолютно одинаково (=RC[-2]*RC[-1]), поэтому в коде макроса можно сразу прописать формулу для всех ячеек диапазона. Для стиля A1, к сожалению, такой способ не подойдет, так как записи всех формул отличаются друг от друга и каждую нужно будет прописывать отдельно, что несколько усложняет задачу.

R1C1 в функциях Excel

При изменении стиля с A1 на R1C1 все ссылки используемые в качестве аргументов в функциях будут автоматически отображаться в новом формате, и никаких проблем с изменением стиля возникнуть не должно.

Однако в Excel есть функции, в которых возможно применение обоих стилей адресации вне зависимости от установленного режима в настройках. В частности, функции ДВССЫЛ (INDIRECT в английской версии) и АДРЕС (ADDRESS в английской версии) могут работать в обоих режимах.

Пример функций ДВССЫЛ и АДРЕС


В качестве одного из аргументов в данных функциях задается стиль используемых ссылок (A1 или R1C1), и в некоторых случаях бывает предпочтительнее использовать как раз R1C1.

Спасибо за внимание!
Если у вас есть мысли или вопросы по использованию и преимуществам разных стилей ссылок — пишите в комментариях.

Достаточно написать формулу только в одной ячейке (C1 в примере), а далее протянуть ячейку в нужном направлении. При этом автоматически A1 будет заменено на A2, B1 на B2 и так далее.

Абсолютные ссылки

Если в формуле необходимо сослаться на конкретную ячейку без ее изменения при перетаскивании, необходимо поставить символ $ перед названием столбца и строки.

excel2016_absolyutnie_ssilki_sreda31

В примере формула написана в ячейке B2 и протянута вниз. Видно, что при этом ссылка на ячейку в столбце A автоматически меняется, но ссылка на ячейку E1 остается неизменной.

Смешанные ссылки

Включают в себя оба варианта одновременно.

Это актуально, когда необходимо протянуть ячейку на несколько столбцов или строк.

excel2016_smeshannie-ssilki_sreda31

В примере формула написана в ячейке B3 и протянута как вправо, так и вниз.

Переключение между различными видами ссылок в Excel

Для того, чтобы переключиться между различными видами ссылок, необходимо после указания ячейки в формуле нажать клавишу F4.

Переключение происходит по следующей схеме: A2 → $A$2 → $A2 → A$2 и далее по кругу.

В уже готовой формуле необходимо поставить курсор в ссылку на ячейку (или сразу после нее) и также нажать F4.

excel2016_smeshannie-ssilki_sreda31

Копирование формул и типы ссылок в Microsoft Excel:

Расписание ближайших групп:

Видео-урок: Функции БДСУММ и БДПРОИЗВЕД в Excel

Автор: Sreda31 · Published 08.04.2020 · Last modified 12.10.2021

Видео-урок: Инструмент Акции в Excel

Автор: Sreda31 · Published 18.02.2020 · Last modified 12.10.2021

Восстановление несохраненных данных в Excel

Автор: Sreda31 · Published 24.01.2019 · Last modified 12.10.2021

Читайте также: