Относительный адрес ячейки excel

Относительный адрес ячейки excel

Что такое относительные и абсолютные адреса в формулах Excel 2010?

С формулами в Excel можно производить всякие разные манипуляции, но, чтобы делать это грамотно, нужно знать, чем отличается абсолютный адрес ячейки от относительного. Рассказываю!

Адреса ячеек и диапазонов в Excel могут быть относительными и абсолютными. Посмотрим вот на такую таблицу (рис. 3.2).

Рис. 3.2. Таблица с суммой

В ячейке Е2 — сумма диапазона ячеек В2:D2. Чтобы ввести эту формулу, я воспользовалась той самой кнопкой , которая осталась у нас не описанной в этой статье. Называется она Автосумма и является самой используемой формулой в Excel. Эта же кнопка есть на вкладке Формулы ленты, в группе Библиотека функций (рис. 3.3).

Рис. 3.3. Вкладка Формулы

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

Как видно на рис. 3.2, в строке формул указана формула, а в самой ячейке — результат сложения ячеек во второй строке. Чтобы просуммировать остальные строки нашей таблицы, не обязательно каждый раз вводить формулу. Можно просто выполнить автозаполнение для столбца Е. Да, не удивляйтесь. Формулы тоже можно копировать (рис. 3.4).

Рис. 3.4. Автозаполнение столбца формулой

Посмотрите, при автозаполнении программа автоматически поменяла адреса ячеек, которые нужно суммировать. В столбце Е в каждой строке будет сумма ячеек из столбцов В, С и D.

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

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

Абсолютный адрес не будет изменяться при копировании или автозаполнении ячеек. Чтобы показать программе Excel, что адрес абсолютный, к нему добавляют значки $, например: $А$1. Это абсолютный адрес ячейки А1. Чтобы быстро сделать относительный адрес в формуле абсолютным, дважды щелкните кнопкой мышки на формуле, поставьте курсор на ссылку нужной ячейки и нажмите клавишу F4. Но можно знак $ добавлять в формулы вручную с клавиатуры. На рис. 3.5 показан пример таблицы с абсолютным адресом.

Рис. 3.5. Автозаполнение столбца формулой с абсолютным адресом

В этой таблице столбец С получается путем умножения значения ячеек из столбца В на значение ячейки В1. Еще раз обращу ваше внимание на то, что, если поменялся курс доллара, вы меняете одно число в таблице. Все остальное Excel пересчитает автоматически.

Зачем нужен стиль ссылок R1C1

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

Что это

Классическая и всем известная система адресации к ячейкам листа в 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 все формулы будут одинаковые. В классическом же представлении в ячейках столбца С все формулы разные, и нам пришлось бы писать код циклического прохода по каждой ячейке, чтобы определить для нее формулу персонально, т.е. что-то типа:

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

:)

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

:)

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

;)

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

:)

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

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

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

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

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

Абсолютные относительные адреса ячеек в формуле

Перед началом работы с формулами первое, что нужно изучить – это адресацию ссылок на ячейки. Чтобы уметь правильно обращаться к данным. И только потом уже следует изучать функции.

Если в ячейке введен первый символ знак «=», то все что будет введено дальше, для Excel является одним из параметров:

  • формулы;
  • ссылки;
  • операции вычисления;
  • ошибка.

Причину ошибки иногда очень сложно отследить в длинных формулах и тогда их следует прослеживать пошагово.

Абсолютный адрес ячейки

Допустим, нам нужно посчитать стоимость за сутки проживания в отелю Еврозоне. Все цены представлены в валюте евро сконвертируем в рубли по курсу 1 EUR = 74 RUB. Курсы валют изменяются каждый день, поэтому нужно сделать прайс так, чтобы можно было легко и просто вычислить актуальные цены в рублях. Вычислим цены с помощью формул с абсолютными или смешанными адресами ячеек так, чтобы не нужно было изменять в них формулы при каждом изменении курса валют. Изменения будут вноситься только в одну ячейку. Для этого введем формулу: =B2*$D$2 или: =B2*D$2, в ячейку С2 как показано на рисунке:

Курс.

В адресах, которые ссылаются на ячейку D2 следует заблокировать символом ($) номер строки 2. Тогда при автозаполнении ячеек формулы будут иметь один фиксированный параметр. То есть, несколько ячеек будут ссылаться на одну и ту же ячейку. При том нам в данной ситуации, не важно будет ли заблокирован столбец символом ($) или нет. Поэтому здесь можно использовать абсолютную ($D$2) или смешанную(D$2) ссылку.

Смешанная ссылка.

Стоит отметить, что первый множитель у нас имеет относительную ссылку (B2), что позволило нам автоматически подставить правильные параметры формулы относительно каждой ячейки при автозаполнении.

Горячие клавиши абсолютной ссылки

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

  • абсолютный;
  • смешанный с фиксированной строкой;
  • смешанный с фиксированным столбцом;
  • относительный.

Чтобы убедиться, как это удобно работает, сделайте следующее:

  1. В любой пустой ячейке введите знак равно (=).
  2. Щелкните левой кнопкой мышки по любой дугой ячейке, на которую будет ссылаться исходная ячейка. В строе формул отобразиться ее адрес.
  3. Переодически нажимайте клавишу F4 и наблюдайте над тем, как меняется тип ссылки (сначала на абсолютный тип и т.д.).

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

30 функций Excel за 30 дней: АДРЕС (ADDRESS)

Вчера в марафоне 30 функций Excel за 30 дней мы находили элементы массива при помощи функции MATCH (ПОИСКПОЗ) и обнаружили, что она отлично работает в команде с другими функциями, такими как VLOOKUP (ВПР) и INDEX (ИНДЕКС).

20-й день нашего марафона мы посвятим изучению функции ADDRESS (АДРЕС). Она возвращает адрес ячейки в текстовом формате, используя номер строки и столбца. Нужен ли нам этот адрес? Можно ли сделать то же самое с помощью других функций?

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

Функция 20: ADDRESS (АДРЕС)

Функция ADDRESS (АДРЕС) возвращает ссылку на ячейку в виде текста, основываясь на номере строки и столбца. Она может возвращать абсолютный или относительный адрес в стиле ссылок A1 или R1C1. К тому же в результат может быть включено имя листа.

Как можно использовать функцию ADDRESS (АДРЕС)?

Функция ADDRESS (АДРЕС) может возвратить адрес ячейки или работать в сочетании с другими функциями, чтобы:

  • Получить адрес ячейки, зная номер строки и столбца.
  • Найти значение ячейки, зная номер строки и столбца.
  • Возвратить адрес ячейки с самым большим значением.

Синтаксис ADDRESS (АДРЕС)

Функция ADDRESS (АДРЕС) имеет вот такой синтаксис:

  • abs_num (тип_ссылки) – если равно 1 или вообще не указано, то функция возвратит абсолютный адрес ($A$1). Чтобы получить относительный адрес (A1), используйте значение 4. Остальные варианты: 2=A$1, 3=$A1.
  • a1 – если TRUE (ИСТИНА) или вообще не указано, функция возвращает ссылку в стиле A1, если FALSE (ЛОЖЬ), то в стиле R1C1.
  • sheet_text (имя_листа) – имя листа может быть указано, если Вы желаете видеть его в возвращаемом функцией результате.

Ловушки ADDRESS (АДРЕС)

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

Пример 1: Получаем адрес ячейки по номеру строки и столбца

При помощи функции ADDRESS (АДРЕС) Вы можете получить адрес ячейки в виде текста, используя номер строки и столбца. Если Вы введёте только эти два аргумента, результатом будет абсолютный адрес, записанный в стиле ссылок A1.

Функция АДРЕС в Excel

Абсолютная или относительная

Если не указывать значение аргумента abs_num (тип_ссылки) в формуле, то результатом будет абсолютная ссылка.

Чтобы увидеть адрес в виде относительной ссылки, можно подставить в качестве аргумента abs_num (тип_ссылки) значение 4.

Функция АДРЕС в Excel

A1 или R1C1

Чтобы задать стиль ссылок R1C1, вместо принятого по умолчанию стиля A1, Вы должны указать значение FALSE (ЛОЖЬ) для аргумента а1.

Функция АДРЕС в Excel

Название листа

Последний аргумент – это имя листа. Если Вам необходимо это имя в полученном результате, укажите его в качестве аргумента sheet_text (имя_листа).

Функция АДРЕС в Excel

Пример 2: Находим значение ячейки, используя номер строки и столбца

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

Функция АДРЕС в Excel

Функция INDIRECT (ДВССЫЛ) может работать и без функции ADDRESS (АДРЕС). Вот как можно, используя оператор конкатенации «&«, слепить нужный адрес в стиле R1C1 и в результате получить значение ячейки:

Функция АДРЕС в Excel

Функция INDEX (ИНДЕКС) также может вернуть значение ячейки, если указан номер строки и столбца:

Функция АДРЕС в Excel

1:5000 – это первые 5000 строк листа Excel.

Пример 3: Возвращаем адрес ячейки с максимальным значением

В этом примере мы найдём ячейку с максимальным значением и используем функцию ADDRESS (АДРЕС), чтобы получить её адрес.

Функция MAX (МАКС) находит максимальное число в столбце C.

Функция АДРЕС в Excel

Далее в игру вступает функция ADDRESS (АДРЕС) в сочетании с MATCH (ПОИСКПОЗ), которая находит номер строки, и COLUMN (СТОЛБЕЦ), которая определяет номер столбца.

Изучаем Excel с нуля. Шаг #3 — Относительные и абсолютные ссылки

ссылки в ExcelДля того, чтобы сделать таблицу еще более гибкой и удобной, нам потребуются некоторые дополнительные знания. То есть опять немного теории…

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

Программа автоматически «поняла» нашу задумку и значения адресов ячеек в формулы были подставлены правильные, но ка это произошло?

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

Если в формуле сделана ссылка на ячейку В3 (в которой находится какое-то число) и мы поменяем значение в этой ячейке, то автоматически будет пересчитана и формула.

Поясню на примере.

В ячейку B3 введем цифру 2, а в ячейку B4 вставим следующую формулу: = B3+3

Какой будет результат вычислений?

Правильно, после нажатия клавиши Enter в ячейке B4 отобразится вычисленное значение — 5.

Что произойдет, если мы изменим значение ячейки B3 с 2 на 4?

Верно! Значение в ячейке B4 автоматически пересчитается и будет равным 7. Это означает, что формула будет рассчитываться в соответствии с новым значением ячейки В3.

Если бы не было ссылок (в нашем примере это ссылка на ячейку B3), то нам бы пришлось вручную изменять все формулы при изменении какого-то одного ее компонента.

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

Мы с вами научились использовать автозаполнение для тиражирования однотипных формул в таблице. По сути автозаполнение нам позволяет скопировать формулу из одной ячейки и вставить ее в следующую. То же самое происходит и при фактическом копировании. Чтобы в этом убедиться, давайте скопируем ячейку В8. Для этого выделим ячейку (1) и щелкнем на ней правой кнопкой мыши для вызова контекстного меню (2).

Копирование содержимого ячейки B8

Данное меню называется контекстным, так как его содержимое изменяется в зависимости от того, на каком объекте оно вызывается, то есть от контекста конкретной ситуации.

Выберем из контекстного меню пункт Копировать. Ячейка выделилась динамической рамкой.

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

Теперь установим табличный курсор в пустую ячейку В19 и вставим скопированную информацию. Для этого мы также можем воспользоваться контекстным меню, но мы задействуем панель инструментов Буфер обмена на вкладке Главная — нажимаем на кнопку Вставить и получаем результат.

Если мы посмотрим на формулу в ячейке B19, то увидим в ней ссылку на ячейка В18.

Относительные ссылки в формулах

Понимаете что произошло? Это очень важно понять!

Мы копировали ячейку В8, в которой в формуле использовалась ссылка на вышестоящую ячейку В7 (1, см. рис. выше), то есть использовалась ссылка на ячейку, которая была выше ячейки с формулой. Именно так она и была скопирована — в ячейке В19 (2, см. рис. выше) в формуле используется ссылка на вышестоящую ячейку В18. То есть адрес ячейки в формуле берется относительно местоположения ячейки с формулой.

Для проверки попробуйте ответить на вопрос — если сейчас скопировать формулу из ячейки В7 (см. рис. выше), которая у нас несколько отличается от формул в других ячейках, и вставить ее в ячейку В20, то ссылка на какую ячейку мы увидим в итоге?

Давайте проверим — в формулу войдет ячейка B16, которая находится выше на четыре ячейки, как и ячейка В3, относительно ячейки В7.

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

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

Как мы знаем, адрес ячейки состоит из обозначения столбца и строки, например, ячейка B3 находится на пересечении третьей строки и столбца B.

Чтобы сделать ссылку на ячейку абсолютной, нужно поставить знак $ перед обозначением столбца и строки (знак доллара ставится с помощью сочетаний клавиш Shift + 4). То есть, если я хочу, чтобы в формуле у меня всегда участвовало значение из ячейки В3, то изменю В3 на $B$3.

Давайте так и сделаем — изменим формулу в ячейке В7:

Абсолютная ссылка

Одна ссылка на ячейку B3 у нас абсолютная, а другая остается относительной. Если теперь скопировать значение ячейки B7 и вставить его в любую другую ячейку, например, В21, то мы увидим следующее:

Абсолютная и относительная ссылки в одной формуле

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

То есть знаком $ мы как бы запрещаем Экселю изменять столбец или строку в адресе ячейки и он всегда будет в неизменном виде.

При этом мы можем запрещать изменять в ссылке что-то одно — либо столбец, либо строку. Такая ссылка будет называться смешанной. Такие ссылки выглядят так — B$2 или $B2, что, соответственно, запретит Эксель менять адрес строки или столбца.

Ну а теперь давайте попрактикуемся и применим полученные знания.

В ячейке А4 напишем — Процент, а в ячейку В4 подставим значение процента по вкладу — 11.

Выносим проценты из формулы в отдельную ячейку

Теперь изменим формулы — меняем в ячейке В7 значение процента на абсолютную ссылку — $B$4, затем тоже самое проделаем в ячейке В8:

Применение абсолютных ссылок

Растиражируем с помощью автозаполнения формулу из ячейки B8 на остальные ячейки столбца B.

Что мы получили в итоге? А то, что теперь мы можем менять и сумму вклада, и процент, а остальные данные будут вычисляться автоматически!

Давайте снизу таблицы в ячейке А19 напишем — Доход, а в ячейку В19 подставим простую формулу, вычисляющую этот доход: =B18-B3, то есть сумма итогового вклада с процентами минус сумма начального вклада.

Вычисление общего дохода

С точки зрения функциональности таблица готова, но вот значения в ней не очень наглядны. Поэтому стоит применить некоторое форматирование, чтобы сделать таблицу более читаемой.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector