Ссылки в Excel – абсолютные, относительные и смешанные | Ошибки при работе с относительными ссылками в Эксель | Информационные технологии
Для облегчения расчетов по формулам в автоматическом режиме используют ссылки на ячейки. В зависимости от типа написания, они делятся на три основных вида:
- Относительные ссылки. Применяются для простейших расчетов. Копирование формулы влечет за собой изменение координат.
- Абсолютные ссылки. При необходимости производства более сложных расчетов подойдет данный вариант. Для фиксации используют символ «$». Пример: $A$1.
- Смешанные ссылки. Данный тип адресаций при проведении расчетов используется при необходимости в закреплении столбика или строчки по отдельности. Пример: $A1 или A$1.
Если необходимо скопировать данные вписанной формулы, применяются ссылки с абсолютной и смешанной адресацией. Статья раскроет на примерах, как производятся расчеты с применением различных видов ссылок.
Относительная ссылка на ячейку в Excel
Это набор символов, определяющих местоположение ячейки. Ссылки в программе автоматически пишутся с относительной адресацией. К примеру: A1, A2, B1, B2. Перемещение в другую строку или столбец ведет к изменению символов в формуле. К примеру, исходная позиция A1. При перемещении по горизонтали изменяется буква на B1, C1, D1 и т.д. Таким же образом происходят изменения при смещении по вертикальной линии, только в данном случае меняется цифра – A2, A3, A4 и т.д. При необходимости дублирования однотипного расчета в соседнюю клетку проводится расчет по относительной ссылке. Для применения данной функции выполните несколько действий:
- Как только данные будут вписаны в ячейку, наведите курсор и сделайте клик мышкой. Выделение зеленым прямоугольником говорит об активации ячейки и готовности к проведению дальнейших работ.
- Нажатием комбинацией клавиш Ctrl + C проводим копирование содержимого в буфер обмена.
- Активируем ячейку, в которую необходимо перенести данные или ранее записанную формулу.
- Нажатием комбинации Ctrl + V переносим данные, сохраненные в буфере обмена системы.
Пример относительной ссылки
Чтобы разобрать нагляднее, рассмотрим пример расчета по формуле с относительной ссылкой. Допустим, владельцу спортивного магазина после года работы необходимо подсчитать прибыль от реализованной продукции.
В Excel создаем таблицу по данному примеру. Заполняем колонки наименованиями товара, количеством проданной продукции и ценой за единицуПорядок выполнения действий:
- На примере видно, что для заполнения количества проданного товара и его цены, использованы колонки B и C. Соответственно, для записи формулы и получения ответа выбираем колонку D. Формула выглядит следующим образом: = B2*C
- Чтобы получить окончательный ответ, нажмите на «Enter». Далее необходимо рассчитать итоговую сумму полученной прибыли с остальных видов продукции. Хорошо если количество строк не велико, тогда все манипуляции можно выполнить вручную. Для заполнения одновременно большого количества строк в Excel имеется одна полезная функция, дающая возможность переноса формулы в другие ячейки.
- Наведите курсор на правый нижний угол прямоугольника с формулой или готовым результатом. Появление черного крестика служит сигналом, что курсор можно тянуть вниз. Таким образом производится автоматический расчет полученной прибыли на каждую продукцию в отдельности.
- Отпустив зажатую кнопку мыши, получаем правильные результаты во всех строчках.
Кликнув по ячейке D3, можно увидеть, что координаты ячеек были автоматически изменены, и выглядят теперь следующим образом: =B3*C3. Из этого следует, что ссылки были относительными.
Возможные ошибки при работе с относительными ссылками
Несомненно, данная функция Excel значительно упрощает расчеты, однако в некоторых случаях могут возникнуть трудности. Рассмотрим простой пример расчета коэффициента прибыли каждого наименования товара:
- Создаем таблицу и заполняем: A – наименование продукции; B – количество проданного; C – стоимость; D – вырученная сумма. Допустим, в ассортименте всего 11 наименований продукции. Следовательно, с учетом описания столбцов, заполняется 12 строк и общая сумма прибыли – D
- Кликаем по ячейке E2 и вписываем =D2/D13.
- После нажатия кнопки «Enter» появляется коэффициент относительной доли продаж первого наименования.
- Растягиваем столбец вниз и ждем результата. Однако система выдает ошибку «#ДЕЛ/0!»
Причина ошибки в использовании относительной ссылки для проведения расчетов. В результате копирования формулы координаты изменяются. То есть для E3 формула будет выглядеть следующим образом =D3/D13. Потому как ячейка D13 не заполнена и теоретически имеет нулевое значение, то программа выдаст ошибку с информацией, что деление на нулевое значение невозможно.
Как вам сделать абсолютную ссылку в Excel
Благодаря использованию символа $ стала возможна фиксация координат ячейки. Каким образом это работает, рассмотрим далее. Так как программа по умолчанию использует относительную адресацию, то соответственно, чтобы сделать ее абсолютной, потребуется выполнить ряд действий. Разберем решение ошибки «Как найти коэффициент от продажи нескольких наименований товара», выполняя расчет при помощи абсолютной адресации:
- Кликаем по E2 и вписываем координаты ссылки =D2/D13. Так как ссылка является относительной, то для фиксации данных необходимо установить символ.
- Зафиксируйте координаты ячейки D Для выполнения этого действия перед буквой, указывающей на столбец и номером строки, установите знак «$».
- Нажмите кнопку «Enter». В результате выполненных действий должен появится правильный результат.
- Для копирования формулы протяните маркер до нижней строки.
Благодаря использованию абсолютной адресации при проведении расчетов итоговые результаты в остальных строках будут правильными.
Как поставить смешанную ссылку в Excel
Для расчетов по формулам используются не только относительные и абсолютные ссылки, но и смешанные. Их отличительная особенность в том, что они закрепляют одну из координат.
- К примеру, чтобы изменить положение строки, необходимо прописать знак $ перед буквенным обозначением.
- Напротив, если знак доллара будет прописан после буквенного обозначения, то показатели в строке останутся в неизменном состоянии.
Из этого следует, что для решения предыдущей задачи с определением коэффициента продаж товара с помощью смешанной адресации, необходимо провести фиксацию номера строки. То есть знак $ устанавливается после буквенного обозначения столбца, потому что его координаты не изменяются даже в относительной ссылке. Разберем пример:
- Для получения точных расчетов вводим =D1/$D$3 и нажимаем «Enter». Программа выдает точный ответ.
- Чтобы переместить формулу в последующие ячейки вниз по столбцу и получить точные результаты, протяните маркер до нижней ячейки.
- В результате программа выдаст правильные расчеты.
“СуперАбсолютная” адресация
В конце разберем еще один пример абсолютной ссылки – «СуперАбсолютная» адресация. $D2. В столбец D вписываем значение степеней.Пример создания «СуперАбсолютной» адресации путем возведения числа в степень
- После нажатия кнопки «Enter» и активации формулы растягиваем маркер вниз по столбцу.
- Получаем правильные результаты.
Суть в том, что все производимые действия ссылались на одну закрепленную ячейку B2, поэтому:
- Копирование формулы из ячейки C3 в ячейку E3, F3 или h4 не приведет к изменению результата. Он останется неизменным – 900.
- При необходимости вставки нового столбца произойдет изменение координат ячейки с формулой, но результат также останется неизменным.
В этом и состоит особенность «СуперАбсолютной» ссылки: при необходимости перемещения полученный результат не будет изменяться. Однако существуют ситуации, когда вставка данных производится из сторонних источников. Таким образом происходит смещение столбцов в сторону, а данные устанавливаются по-старому в столбец B2. $E2.
Необходимо понимать, что ячейка, не содержащая никаких данных, всегда показывает значение «0».
Заключение
Благодаря применению трех разновидностей описанных ссылок появляется масса возможностей, облегчающих работу с расчетами в Excel. Поэтому, прежде чем приступать к работе с формулами, первоначально ознакомьтесь со ссылками и правилами их установки.
Сообщение Ссылки в Excel – абсолютные, относительные и смешанные. Ошибки при работе с относительными ссылками в Эксель появились сначала на Информационные технологии.
Использование относительных ссылок в макросах
Хитрости » 19 Февраль 2021 Дмитрий 7178 просмотров
Основные понятия (26) Сводные таблицы и анализ данных (10) Графики и диаграммы (5) Работа с VB проектом (12) Power BI и Power Query (22) |
Условное форматирование (5) Списки и диапазоны (5) Макросы(VBA процедуры) (68) Разное (43) Баги и глюки Excel (4) |
youtube.com/embed/ZFGd3Ake7zI?feature=oembed» frameborder=»0″ allow=»accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture» allowfullscreen=»»>
Если Вы уже записывали макросы обработки таблиц, то наверняка сталкивались с ситуацией, когда макросом в таблицу добавляется столбец с формулами, которые потом необходимо распространить на все строки. Но если количество строк в таблице изменяется, то макрос работает некорректно: если строк стало больше, то формулы проставляются не на все строки, а если строк стало меньше – то появляются строки с лишними формулами.
К примеру, возьмем таблицу такого вида:
В конце таблицы нам необходимо добавить столбец «Стоимость», прописав в нем нехитрую формулу перемножения количества на цену:
=F2*G2
Перед записью макроса выделяем ячейку h2. При обычной записи макроса наши шаги такие:
1. Выделили I1
2. Записали в неё заголовок «Стоимость»
3. Перешли в I2
4. Записали формулу: =F2*G2
5. Распространили формулу до конца таблицы (через автозаполнение или путем копирования ячейки с формулой и вставки в остальные ячейки)
Макрос работает отлично. Пока количество строк не изменится. Если при записи макроса в таблице было 319 строк, а потом добавилось еще 20, то записанный макрос создаст формулу только в первых 319 строках. Все дело в том, что при обычной записи макрос использует абсолютную адресацию ячеек. Т.е. в нем каждый наш шаг обозначает выделение ячеек с конкретно указанным адресом (I1, I2, I319 и т.д.):
Как выйти из такой ситуации? Все не слишком сложно. В группе кнопок код на вкладке Разработчик есть кнопка «Относительные ссылки». Если нажать её до записи макроса(или во время), то ссылки на ячейки будут уже запоминаться не как конкретный адрес, а как смещение относительно последней выделенной ячейки.
Например, запишем два простых макроса, которые будут делать одно и то же действие – перемещение вниз таблицы и выделение ячеек от нижней до верхней. Только первый макрос будет записан обычным способом, а перед записью второго мы нажмем кнопку «Относительные ссылки». Наши действия будут следующими (одинаковыми для обоих макросов):
2. Начинаем запись макроса
3. Выделяем ячейку h3
4. Комбинацией клавиш Ctrl+↓(стрелка вниз) перемещаемся вниз таблицы
5. Стрелка вправо (т.е. выделяем последнюю ячейку в столбце I)
6. Комбинацией клавиш Ctrl+Shift+↑(стрелка вверх) выделяем столбец I от последней ячейки до первой
7. Завершаем запись макроса
Теперь можно посмотреть на код обоих макросов:
Отличия очевидны: в первом используется обращение к ячейкам по их конкретным адресам. Во втором же все действия происходят относительно последней выделенной ячейки(на Range(«A1») не обращаем внимания – это из другой оперы и если их удалить ничего не изменится). Из этого можно сделать вывод, что для создания гибких универсальных макросов с использованием относительных ссылок необходимо как можно меньше использовать мышку и максимально стараться применять горячие клавиши. Попробую пояснить почему: когда мы применяем то же автозаполнение (наведение курсора мыши на нижний правый угол ячейки и протягивание вниз или двойной щелчок левой кнопкой мыши) – оно применяется к конкретно определенному количеству ячеек. Т.е. даже относительные ссылки не помогут заполнить его формулами, как того требует наша изначальная задача. Но если использовать горячие клавиши перемещения и выделения (Ctrl+стрелка и Ctrl+Shift+стрелка), то мы можем создать макрос, которому уже будет не важно сколько строк в нашей таблице. Чтобы в этом убедиться, запишем макрос из начала статьи, но уже с использованием относительных ссылок и исключительно клавиш для перемещения. Наши действия:
2. Начали запись макроса
3. Нажимаем кнопку Относительные ссылки(если она еще не нажата)
4. Выделяем I1
5. Записываем в неё заголовок «Стоимость»
6. Переходим в I2
7. Записываем в I2 формулу: =F2*G2
8. Комбинацией клавиш Ctrl+C(или при помощи контекстного меню мыши) копируем ячейку с формулой
9. Стрелкой вправо перемещаемся в ячейку h3
10. Комбинацией клавиш Ctrl+↓(стрелка вниз) перемещаемся вниз таблицы
11. Стрелка вправо (т.е. выделяем последнюю ячейку в столбце I)
12. Комбинацией клавиш Ctrl+Shift+↑(стрелка вверх) выделяем столбец I от последней ячейки до первой
13. Комбинацией клавиш Ctrl+V вставляем скопированную формулу
14. Нажимаем Esc для сброса буфера обмена
15. Запись макроса можно завершить
Если теперь попробовать применить такой макрос к таблице, у которой строк больше или меньше, чем было при записи макроса – все пройдет идеально. Макрос создаст столбец и запишет в нем формулу только на нужное количество строк.
Более того. Если наша таблица находится уже в другом листе и даже начинается не с первой ячейки, а где-то в середине:
Нам достаточно будет выделить ячейку заголовка последнего столбца(K5) и запустить наш макрос. Он без проблем добавит столбец с формулой в нужном месте и на все строки. Макрос же без использования относительных ссылок в такой ситуации спасует по полной: он создаст формулы начиная с ячейки I2 и до заголовка, только испортив таблицу и не сделав ничего полезного.
Так же хочу дополнить, что Относительные ссылки играют роль исключительно во время записи макроса. Во время воспроизведения совершенно не важно включены они или нет. Плюс можно(а иногда и нужно) комбинировать во время записи макросов режим относительных ссылок с обычным режимом. Например, когда столбцов в таблице у нас всегда одинаковое количество и таблица всегда в одном месте, и столбец мы добавляем всегда в столбец I. Но формулы при этом надо протягивать на разное количество строк. Тогда можно начать запись макроса обычным режимом, а после того, как записали название столбца — включить режим относительных ссылок, чтобы определение последней ячейки таблицы не зависело от количества строк в этой таблице.
Статья помогла? Поделись ссылкой с друзьями! Видеоуроки
Поиск по меткам
Accessapple watchMultexPower Query и Power BIVBA управление кодамиБесплатные надстройкиДата и времяЗапискиИПНадстройкиПечатьПолитика КонфиденциальностиПочтаПрограммыРабота с приложениямиРазработка приложенийРосстатТренинги и вебинарыФинансовыеФорматированиеФункции Excelакции MulTExссылкистатистикагиперссылка на файл по относительному пути
Эндрю Поулсом
MrExcel MVP
- #2
Пожалуйста, приведите примеры путей и имен файлов.
Голосовать за 0
Хани0
Новый член
- #3
путь представляет собой папку с именем Rooms, которая является подпапкой текущей папки, в которой находится файл xls.
Голосовать за 0
Эндрю Поулсом
MrExcel MVP
- #4
=ГИПЕРССЫЛКА(ЛЕВАЯ(ЯЧЕЙКА(«имя файла»,A1),НАЙТИ(«[«,ЯЧЕЙКА(«имя файла»,A1))-1)&»Комнаты\xx.xls»)
Голосовать за 0
Хани0
Новый член
- #5
РЕКЛАМА
Да, работает. Большое спасибо.
Но ссылка показывает полный путь к имени файла, может ли она отображать только имя файла?
Голосовать за 0
Эндрю Поулсом
MrExcel MVP
- #6
=ГИПЕРССЫЛКА(ЛЕВАЯ(ЯЧЕЙКА(«имя файла»,A1),НАЙТИ(«[«,ЯЧЕЙКА(«имя файла»,A1))-1)&»Комнаты\xx.xls» , «xx .xls» )
Голосовать за 0
Хани0
Новый член
- #7
РЕКЛАМА
Большое спасибо
Голосовать за 0
Хани0
Новый член
- #8
Эндрю Поулсом сказал:
Конечно:=ГИПЕРССЫЛКА(ЛЕВАЯ(ЯЧЕЙКА(«имя файла»,A1),НАЙТИ(«[«,ЯЧЕЙКА(«имя файла»,A1))-1)&»Комнаты\xx.xls» , «xx.xls» » )
Нажмите, чтобы развернуть…
Голосовать за 0
Эндрю Поулсом
MrExcel MVP
- #9
Вы не можете этого сделать. Вы уже поставили лайк и поблагодарили меня, так что этого достаточно.Hany0 сказал:
Я хотел бы отметить этот ответ, так как он полностью ответил на мой вопрос.
Нажмите, чтобы развернуть…
Голосовать за 0
ExcelPowerSq
Новый член
- #10
Привет,Hany0 сказал:
Я хотел бы отметить этот ответ, так как он полностью ответил на мой вопрос.
Нажмите, чтобы развернуть…
Я знаю, что это очень старый пост. У меня похожая ситуация, но немного глубже. У меня есть несколько папок уровня в основной папке, и каждая последняя папка уровня в пути имеет несколько файлов. Могу ли я сделать что-то похожее на ваше предложение создать гиперссылки на последний файл?
Пример:
Основная_папка\подпапка[с 1 по 10]\подпапка[с 1 по 10]\файл[с 1 по 10].pdf
Основной файл xls с гиперссылкой находится в папке Main_Folder. Каждая вложенная папка повторяется, пока не попадет в файл .pdf
Заранее спасибо.
Голосовать за 0
Относительная ссылка в Excel (примеры)
Относительная ссылка в Excel (оглавление)
- Относительная ссылка в Excel
- Как использовать относительную ссылку в Excel?
Относительная ссылка в Excel похожа на выбор ячейки, в которую ничего не помещается. При этом значение ячейки не будет фиксированным, и всякий раз, когда мы копируем или используем эту ячейку, ее значение также будет изменено с соответствующей ссылкой на этот лист. Например, относительная ссылка ячейки A1 будет выглядеть как « =А1 «. Эта ссылка изменится, когда мы скопируем ее в другие ячейки или листы.
Что такое относительная ссылка в Excel?
Относительные ссылки относятся к ячейке или диапазону ячеек в Excel. Каждый раз, когда значение вводится в формулу, такую как СУММЕСЛИМН, можно ввести «ссылку на ячейку» в Excel вместо жестко закодированного числа. Ссылка на ячейку может быть представлена в форме B2, где B соответствует букве рассматриваемого столбца ячейки tcell, а 2 представляет номер строки. Всякий раз, когда Excel встречает ссылку на ячейку, он посещает конкретную ячейку, извлекает ее значение и использует это значение в любой формуле, которую вы пишете. Когда эта ссылка на ячейку дублируется в другое место, относительные ссылки на ячейку, соответственно, также автоматически изменяются.
Когда мы ссылаемся на ячейки таким образом, мы можем добиться этого с помощью любого из двух «типов ссылок»: абсолютных и относительных. Разграничением между этими двумя различными типами ссылок является неотъемлемое поведение перетаскивания или копирования и вставки их в разные ячейки. Относительные ссылки могут изменяться и корректироваться при их копировании и вставке; абсолютных ссылок, напротив, нет. Для успешного достижения результатов в Excel очень важно уметь правильно использовать относительные и абсолютные ссылки.
Как использовать относительную ссылку в Excel?
Этот относительный справочник очень прост и удобен в использовании. Давайте теперь посмотрим, как использовать относительную ссылку в Excel с помощью нескольких примеров.
Вы можете скачать этот шаблон Excel для относительной ссылки здесь — Шаблон Excel для относительной ссылки
Пример № 1
Давайте рассмотрим простой пример, чтобы объяснить механизм относительной ссылки в Excel, если мы хотим получить сумму двух чисел в двух разных ячейках – A1 и A2, и иметь результат в третьей ячейке, A3.
Итак, мы применяем формулу A1+A2, которая даст результат 200 в A3.
Результат равен 200.
Предположим, у нас есть аналогичный сценарий в следующем столбце («B»). В ячейках B1 и B2 есть два числа, и мы хотим, чтобы сумма была в ячейке B3.
Мы можем добиться этого двумя разными способами:
Здесь мы физически напишем формулу для сложения двух ячеек B1 и B2 в B3, чтобы получить результат 30.
Результат равен 30.
Или мы можем скопировать формулу из ячейки A3 и вставить ее в ячейку B3 (это сработает, если мы также перетащим формулу из A3 в B3).
Таким образом, когда мы копируем содержимое ячейки A3 и вставляем его в B3 или перетаскиваем содержимое ячейки A3 и вставляем его в B3, копируется формула, а не результат. Мы могли бы добиться того же результата, щелкнув правой кнопкой мыши ячейку A3 и выбрав параметр «Копировать».
И после этого переходим к следующей ячейке, B3, щелкаем правой кнопкой мыши и выбираем «Формулы (f)».
Это означает, что ячейка A3 = A1+A2. Когда мы копируем A3, перемещаем одну ячейку вправо и вставляем ее в ячейку B3, формула автоматически адаптируется и изменяется на B3 = B1+B2. Вместо этого он применяет формулу суммирования для ячеек B1 и B2.
Пример #2
Теперь давайте рассмотрим другой практический сценарий, который прояснит концепцию. Предположим, что у нас есть данные co, состоящие из цены за единицу продукта и проданного количества каждого из них. Наша цель — рассчитать цену продажи; следующая формула может описать цену = Цена за единицу x Проданные единицы.
Чтобы найти цену продажи, мы должны умножить цену за единицу на количество проданных единиц для каждого продукта. Итак, теперь мы применим эту формулу для первой ячейки в Цене продажи, т. е. для Продукта 1.
Когда мы применим формулу, мы получим следующий результат для Продукта 1:
Он успешно умножил Единицу Стоимость проданных единиц продукта 1, т. е. ячейка G2 * ячейка h3, т. е. 1826,00 * 20, что дает нам результат 36520,00.
Итак, теперь мы видим, что у нас есть 9другие продукты, чтобы пойти. В реальных сценариях это может достигать сотен или тысяч строк. Становится трудно или почти невозможно просто написать формулу для каждой строки.
Следовательно, мы будем использовать функцию «Относительная ссылка» в Excel, скопируем содержимое ячейки I2 и вставим во все оставшиеся ячейки таблицы для столбца «Цена продажи» или просто перетащим формулу из ячейки I2 в остальные строки. в этом столбце и получить результаты для всей таблицы менее чем за 5 секунд.
Мы можем нажать Ctrl + D или скопировать и вставить ячейку I2 во все выделенные ячейки.
Что следует помнить
- При копировании формул Excel, как правило, желательна относительная ссылка. Вот почему это поведение Excel по умолчанию. Но иногда целью может быть применение абсолютной ссылки, а не относительной ссылки. Абсолютная ссылка делает ссылку на ячейку фиксированной по абсолютному адресу ячейки, благодаря чему при копировании формулы она остается неизменной.
- Абсолютно никаких знаков доллара не требуется! При использовании относительных ссылок, когда мы копируем формулу из одного места в другое, формула соответствующим образом адаптируется.