Изменять тип ссылки в ms excel удобно нажатием клавиши
Многие знают, как изменить стиль ссылок в формуле с абсолютной на относительную и наоборот (за это отвечают знаки доллара внутри ссылки): выделяем ссылку внутри формулы и жмем F4. Ссылка последовательно меняется (на примере полностью относительной - C3:C8 ):
- полностью абсолютная $C$3:$C$8 =>
- абсолютные строки и относительные столбцы C$3:C$8 =>
- абсолютные столбцы и относительные строки $C3:$C8 =>
- полностью относительная C3:C8
А теперь представим ситуацию: когда-то были созданы кучи формул в разных местах листа и вдруг понадобилось сменить ссылки на ячейки в формулах с относительных на абсолютные или наоборот, или закрепить только столбцы, а строки оставить "плавающими" или т.п.. Вручную это делать довольно долго и совсем не интересно. Вот в таких случаях и понадобится код, который поможет сделать данный процесс более приятным и более быстрым. Я бы сказал - два клика мышью и часы работы в пятницу сэкономлены :-)
Sub Change_Style_In_Formulas() Dim rR As Range, rFormulasRng As Range, rA As Range Dim lType As String Dim aF_Source, aF_Res Dim lr As Long, lc As Long lType = InputBox("Изменить тип ссылок у формул?" & Chr(10) & Chr(10) _ & "1 - Все абсолютные" & Chr(10) _ & "2 - Абсолютная строка/Относительный столбец" & Chr(10) _ & "3 - Относительная строка/Абсолютный столбец" & Chr(10) _ & "4 - Все относительные", "www.excel-vba.ru") If StrPtr(lType) = 0 Then Exit Sub If Val(lType) < 1 Or Val(lType) >4 Then MsgBox "Неверно указан тип преобразования!", vbCritical Exit Sub End If On Error Resume Next Set rR = Application.InputBox("Выделите диапазон с формулами", "www.excel-vba.ru", , , , , , Type:=8) If rR Is Nothing Then Exit Sub On Error Resume Next Set rFormulasRng = rR.SpecialCells(xlFormulas) If rFormulasRng Is Nothing Then MsgBox "Выбранный диапазон не содержит формул", 64, "www.excel-vba.ru" Exit Sub End If On Error GoTo 0 For Each rA In rFormulasRng.Areas aF_Source = rA.Formula aF_Res = Application.ConvertFormula(aF_Source, xlA1, xlA1, Val(lType)) If IsArray(aF_Res) Then For lr = LBound(aF_Res, 1) To UBound(aF_Res, 1) For lc = LBound(aF_Res, 2) To UBound(aF_Res, 2) If IsError(aF_Res(lr, lc)) Then aF_Res(lr, lc) = aF_Source(lr, lc) End If Next Next Else If IsError(aF_Res) Then aF_Res = aF_Source End If End If rA.Formula = aF_Res Next Set rFormulasRng = Nothing MsgBox "Конвертация стилей ссылок завершена!", 64, "www.excel-vba.ru" End Sub
- копируем приведенный выше код, переходим в редактор VBA ( Alt + F11 )
- создаем стандартный модуль (Insert -Module)
- переходим на лист, формулы в котором надо преобразовать, жмем Alt + F8 , выбираем макрос Change_Style_In_Formulas и жмем Выполнить
Сразу после запуска сначала будет предложено выбрать тип ссылок:
- Все абсолютные;
- Абсолютная строка/Относительный столбец;
- Относительная строка/Абсолютный столбец;
- Все относительные
Примечание: данный код не учитывает формулы массива и после работы кода такие формулы станут обычными.
Так же код может некорректно работать с длинными и сложными формулами, и формулами внутри умных таблиц - особенность VBA. Для таких формул, если их преобразование завершилось ошибкой, изменения не будут применены и формула останется такой же как была
Перед началом работы с формулами первое, что нужно изучить – это адресацию ссылок на ячейки. Чтобы уметь правильно обращаться к данным. И только потом уже следует изучать функции.
Если в ячейке введен первый символ знак «=», то все что будет введено дальше, для Excel является одним из параметров:
- формулы;
- ссылки;
- операции вычисления;
- ошибка.
Причину ошибки иногда очень сложно отследить в длинных формулах и тогда их следует прослеживать пошагово.
Абсолютный адрес ячейки
Допустим, нам нужно посчитать стоимость за сутки проживания в отелю Еврозоне. Все цены представлены в валюте евро сконвертируем в рубли по курсу 1 EUR = 74 RUB. Курсы валют изменяются каждый день, поэтому нужно сделать прайс так, чтобы можно было легко и просто вычислить актуальные цены в рублях. Вычислим цены с помощью формул с абсолютными или смешанными адресами ячеек так, чтобы не нужно было изменять в них формулы при каждом изменении курса валют. Изменения будут вноситься только в одну ячейку. Для этого введем формулу: =B2*$D$2 или: =B2*D$2, в ячейку С2 как показано на рисунке:
В адресах, которые ссылаются на ячейку D2 следует заблокировать символом ($) номер строки 2. Тогда при автозаполнении ячеек формулы будут иметь один фиксированный параметр. То есть, несколько ячеек будут ссылаться на одну и ту же ячейку. При том нам в данной ситуации, не важно будет ли заблокирован столбец символом ($) или нет. Поэтому здесь можно использовать абсолютную ($D$2) или смешанную(D$2) ссылку.
Стоит отметить, что первый множитель у нас имеет относительную ссылку (B2), что позволило нам автоматически подставить правильные параметры формулы относительно каждой ячейки при автозаполнении.
Горячие клавиши абсолютной ссылки
Чтобы упростить ввод разного типа ссылок в Excel можно воспользоваться горячей клавишей F4, которая при поочередном нажатии работает как переключатель между типами ссылок:
- абсолютный;
- смешанный с фиксированной строкой;
- смешанный с фиксированным столбцом;
- относительный.
Чтобы убедиться, как это удобно работает, сделайте следующее:
- В любой пустой ячейке введите знак равно (=).
- Щелкните левой кнопкой мышки по любой дугой ячейке, на которую будет ссылаться исходная ячейка. В строе формул отобразиться ее адрес.
- Переодически нажимайте клавишу F4 и наблюдайте над тем, как меняется тип ссылки (сначала на абсолютный тип и т.д.).
Благодаря формулам программа Excel является сильным и эффективным инструментом, который выполняет сложнейшие вычислительные операции с данными. Excel без формул был бы мертвой таблицей со строками и столбцами разбитой на множество ячеек. Такая таблица способна только форматировать отображение данных. Адресам ссылок можно присваивать имя, но об этом на следующих уроках.
Преимущества абсолютных ссылок сложно недооценить. Их часто приходится использовать в процессе работы с программой. Относительные ссылки на ячейки в Excel более популярные чем, абсолютные, но так же имеют свои плюсы и минусы.
В Excel существует несколько типов ссылок: абсолютные, относительные и смешанные. Сюда так же относятся «имена» на целые диапазоны ячеек. Рассмотрим их возможности и отличия при практическом применении в формулах.
Абсолютные и относительные ссылки в Excel
Абсолютные ссылки позволяют нам зафиксировать строку или столбец (или строку и столбец одновременно), на которые должна ссылаться формула. Относительные ссылки в Excel изменяются автоматически при копировании формулы вдоль диапазона ячеек, как по вертикали, так и по горизонтали. Простой пример относительных адресов ячеек:
- Заполните диапазон ячеек A2:A5 разными показателями радиусов.
- В ячейку B2 введите формулу вычисления объема сферы, которая будет ссылаться на значение A2. Формула будет выглядеть следующим образом: =(4/3)*3,14*A2^3
- Скопируйте формулу из B2 вдоль колонки A2:A5.
Как видите, относительные адреса помогают автоматически изменять адрес в каждой формуле.
Так же стоит отметить закономерность изменения ссылок в формулах. Данные в B3 ссылаются на A3, B4 на A4 и т.д. Все зависит од того куда будет ссылаться первая введенная формула, а ее копии будут изменять ссылки относительно своего положения в диапазоне ячеек на листе.
Использование абсолютных и относительных ссылок в Excel
Заполните табличку, так как показано на рисунке:
Описание исходной таблицы . В ячейке A2 находиться актуальный курс евро по отношению к доллару на сегодня. В диапазоне ячеек B2:B4 находятся суммы в долларах. В диапазоне C2:C4 будут находится суммы в евро после конвертации валют. Завтра курс измениться и задача таблички автоматически пересчитать диапазон C2:C4 в зависимости от изменения значения в ячейке A2 (то есть курса евро).
Для решения данной задачи нам нужно ввести формулу в C2: =B2/A2 и скопировать ее во все ячейки диапазона C2:C4. Но здесь возникает проблема. Из предыдущего примера мы знаем, что при копировании относительные ссылки автоматически меняют адреса относительно своего положения. Поэтому возникнет ошибка:
Относительно первого аргумента нас это вполне устраивает. Ведь формула автоматически ссылается на новое значение в столбце ячеек таблицы (суммы в долларах). А вот второй показатель нам нужно зафиксировать на адресе A2. Соответственно нужно менять в формуле относительную ссылку на абсолютную.
Как сделать абсолютную ссылку в Excel? Очень просто нужно поставить символ $ (доллар) перед номером строки или колонки. Или перед тем и тем. Ниже рассмотрим все 3 варианта и определим их отличия.
Наша новая формула должна содержать сразу 2 типа ссылок: абсолютные и относительные.
- В C2 введите уже другую формулу: =B2/A$2. Чтобы изменить ссылки в Excel сделайте двойной щелчок левой кнопкой мышки по ячейке или нажмите клавишу F2 на клавиатуре.
- Скопируйте ее в остальные ячейки диапазона C3:C4.
Описание новой формулы . Символ доллара ($) в адресе ссылок фиксирует адрес в новых скопированных формулах.
Абсолютные, относительные и смешанные ссылки в Excel:
- $A$2 – адрес абсолютной ссылки с фиксацией по колонкам и строкам, как по вертикали, так и по горизонтали.
- $A2 – смешанная ссылка. При копировании фиксируется колонка, а строка изменяется.
- A$2 – смешанная ссылка. При копировании фиксируется строка, а колонка изменяется.
Для сравнения: A2 – это адрес относительный, без фиксации. Во время копирования формул строка (2) и столбец (A) автоматически изменяются на новые адреса относительно расположения скопированной формулы, как по вертикали, так и по горизонтали.
Примечание. В данном примере формула может содержать не только смешанную ссылку, но и абсолютную: =B2/$A$2 результат будет одинаковый. Но в практике часто возникают случаи, когда без смешанных ссылок не обойтись.
Полезный совет. Чтобы не вводить символ доллара ($) вручную, после указания адреса периодически нажимайте клавишу F4 для выбора нужного типа: абсолютный или смешанный. Это быстро и удобно.
Все мы привыкли, что ячейки в Excel называются буквами и цифрами. Такое обозначение является очень удобным, поскольку сразу можно догадаться, что является адресом колонки, а что — строки. Однако Excel иногда издаёт нам свои извороты, и при очередном открытии программы, столбцы, вместо букв, обозначаются цифрами. Наверное каждого не раз раздражал такой порядок вещей.
Итак, давайте узнаем, как привести названия ячеек к стандартному виду. Имеем такое отображение формул в Excel :
Чтобы вернуть привычный вид, выберем Файл — Параметры — Формулы . Появится следующее окно:
В нем, снимаем галочку с пункта Стиль ссылок R1C1 и жмем ОК . И получаем такие привычные нам подписи колонок назад:
Отображение адресов ячеек в виде R1C1(относительные ссылки) и A1 (буквенно числовое отображение) в «Excel».
Адреса ячеек в программе «Excel» могут отображаться в двух разных форматах:
Как перевести формат адресов ячеек R1C1 (RC) в обычный вид: A1; B1; C1 и т.д.
Для изменения вида адресов следует выполнить следующую последовательность действий:
- войти во вкладку «Файл»;
- выбрать меню «Параметры»;
- далее выбрать вкладку «Формулы»;
- во вкладке «Формулы» убрать «галочку» (флажок) напротив параметра «Стиль ссылок R1C1»;
- нажать кнопку «Ok».
После выполнения указанной последовательности действий адреса ячеек приобретут привычный вид : A1; B1; C1 и т.д.
Как изменить названия столбцов c цифр на буквы в Excel
Многие пользователи программы Эксель привыкли к тому, что в качестве названий столбцов таблицы служат латинские буквы. Однако иногда может случиться такое, что вместо букв отображаются цифры подобно нумерации строк.
Такое возможно по ряду причин:
- программные сбои;
- пользователь сам изменил соответствующую настройку, но не заметил, как это сделал или забыл.
- возможно, другой пользователь, работающий с таблицей внес изменения в настройки.
На самом деле, независимо от того, какая именно причина привела к смене обозначений, многие пользователи спешат вернуть все на место, т.е. чтобы столбцы вновь обозначались буквами латинского алфавита. Давайте посмотрим, как это сделать в Excel.
Смена обозначений столбцов
В Эксель предусмотрено два метода, пользуясь которыми, можно вернуть горизонтальную координатную панель к тому виду, к которому привыкло большинство пользователей программы. Давайте рассмотрим оба.
Метод 1: настройка параметров программы
Данный метод предполагает внесение изменений в параметры программы. Вот, что нужно сделать:
Примечание: стиль ссылок R1C1 – это и есть параметр, включение которого меняет латинские буквы на цифры на горизонтальной координатной панели.
Метод 2: настройки в Режиме разработчика
Прежде, чем приступить к выполнению действий, описанных в данном методе, необходимо активировать режим Разработчика, так как по умолчанию он выключен.
- заходим в параметры программы (порядок действий описан выше);
- переходим в раздел “Настроить ленту”, в правой части окна находим пункт “Разработчик”, ставим напротив него галочку и щелкаем OK.
Теперь можно перейти к основному алгоритму действий:
-
Переходим во вкладку “Разработчик”, в левой части которой щелкаем по кнопке “Visual Basic”. Также, вместо этого можно воспользоваться комбинацией клавиш Alt+F11.
Заключение
Многих пользователей, которые никогда с этим не сталкивались, может смутить ситуация, когда вместо привычных названий столбцов в виде латинских букв отображаются цифры. Но не стоит из-за этого переживать, ведь вернуть панель координат к привычному виду можно достаточно быстро, воспользовавшись одним из способов, описанных выше.
Ссылки в Эксель
Давайте разберемся какие типы ссылок бывают в программе. Сразу уточню, для записи в одной ячейке, тип используемой ссылки не имеет значения. Но если вы будете копировать формулу в другое место, использование разных ссылок даёт разные результаты. Так вот, ссылки на ячейки бывают трёх видов:
- Абсолютные ссылки. Они однозначно указывают адрес ячейки, на которую ссылаются. При копировании, этот адрес не изменяется. Так обычно выглядит абсолютная ссылка в Excel: =$A$1 . В этой ссылке перед именами столбцов и строк стоит знак «$», который указывает программе не изменять эти координаты при копировании.
- Относительные ссылки. Такие ссылки запоминают свое положение относительно источника и при копировании так же, изменяют свои координаты. Например, в ячейке А1 записано =В2 . Значит, мы ссылаемся на ячейку, которая на одну строку ниже нашей и на один столбец правее. Теперь, если скопировать эту формулу в клетку С3 , ссылка в ней будет такая: =D4 , т.е. сохранит своё относительное положение к источнику.
Относительные ссылки в Excel удобно использовать, когда нужно применить одну и ту же формулу к списку данных. Тогда при копировании формула берет исходные данные из нужного пункта списка автоматически.
Как видите, в относительных ссылках не ставятся знаки «$», и программа не «замораживает» ни одну из координат.
Я в практике одинаково часто использую все три типа ссылок, поскольку они позволяют решать разные задачи при копировании формул. При этом, все они используются постоянно.
Как изменить тип ссылки в Эксель
Изменение типа ссылки – очень простая задача, которую можно выполнить двумя путями. Как вы уже поняли, чтобы координаты не меняли своего значения при копировании, нужно устанавливать перед ними знак «$». И делается это так:
Внешние ссылки в Эксель
Ссылки могут указывать на ячейки на том же листе, на другом листе той же книги, на листе другой книги. Эти ссылки имеют свои особенности:
- Ссылка на ячейку на том же листе по умолчанию ставится относительной и выглядит, как набор координат. Например: =А1
- Ссылка на ячейку на другом листе активной книги, по умолчанию тоже относительная, но содержит имя листа, на котором расположена искомая ячейка. Имя листа и адрес ячейки разделяются восклицательным знаком. Например, =Лист1!А1 .
- Ссылка на ячейку в другом файле по умолчанию абсолютная и записывается, как комбинация: [Имя_рабочей_книги]Имя_листа!Адрес_ячейки . Например: =[Книга1.xlsx]Лист1!$А$1 . И здесь нужно сделать несколько уточнений:
- Если целевая рабочая книга закрыта, ссылка изменяет вид: Адрес_рабочей_книги[Имя_рабочей_книги]Имя_листа!Адрес_ячейки .
- Если имя листа или книги содержит пробелы, ссылка заключается в одинарные кавычки по такой схеме: ’[Книга 1.xlsx]Лист 1’!$А$1 .
Как видите, ссылки на другие ячейки могут выглядеть достаточно сложно. Не беспокойтесь, вам не придётся набирать их вручную, программа всё сделает сама, вам нужно лишь кликнуть на ячейку, чтобы сослаться на нее. Подробно об этом я рассказал в статье о правилах написания формул.
Надеюсь, вы хорошо усвоили тему этой статьи. В ней не было ничего сложного, но чёткое понимание работы ссылок – залог правильной работы формул. Если у вас есть вопросы по теме поста – пишите в комментариях!
Спасибо за прочтение, до встречи на страницах блога OfficeЛЕГКО!
Добавить комментарий Отменить ответ
2 комментариев
Заранее спасибо. С уважением, Виктор (Московская область)
Виктор, в данном случае программа просит указать ссылку на ячейку из данной книги, в которой содержится число или результат вычисления. Не используйте в поле гиперссылки, а также вычисления с указанием ссылок на другие ячейки. Указывайте целевое значение значение напрямую, или ссылку на ячейку с этим значением, или формулу, которая не содержит ссылок на ячейки, только значения и операторы.
Типы ссылок на ячейки в формулах Excel
Если вы работаете в Excel не второй день, то, наверняка уже встречали или использовали в формулах и функциях Excel ссылки со знаком доллара, например $D$2 или F$3 и т.п. Давайте уже, наконец, разберемся что именно они означают, как работают и где могут пригодиться в ваших файлах.
Относительные ссылки
Это обычные ссылки в виде буква столбца-номер строки ( А1, С5, т.е. "морской бой"), встречающиеся в большинстве файлов Excel. Их особенность в том, что они смещаются при копировании формул. Т.е. C5, например, превращается в С6, С7 и т.д. при копировании вниз или в D5, E5 и т.д. при копировании вправо и т.д. В большинстве случаев это нормально и не создает проблем:
Смешанные ссылки
Иногда тот факт, что ссылка в формуле при копировании "сползает" относительно исходной ячейки — бывает нежелательным. Тогда для закрепления ссылки используется знак доллара ($), позволяющий зафиксировать то, перед чем он стоит. Таким образом, например, ссылка $C5 не будет изменяться по столбцам (т.е. С никогда не превратится в D, E или F), но может смещаться по строкам (т.е. может сдвинуться на $C6, $C7 и т.д.). Аналогично, C$5 — не будет смещаться по строкам, но может "гулять" по столбцам. Такие ссылки называют смешанными:
Абсолютные ссылки
Ну, а если к ссылке дописать оба доллара сразу ($C$5) — она превратится в абсолютную и не будет меняться никак при любом копировании, т.е. долларами фиксируются намертво и строка и столбец:
Самый простой и быстрый способ превратить относительную ссылку в абсолютную или смешанную — это выделить ее в формуле и несколько раз нажать на клавишу F4. Эта клавиша гоняет по кругу все четыре возможных варианта закрепления ссылки на ячейку: C5 → $C$5 → $C5 → C$5 и все сначала.
Все просто и понятно. Но есть одно "но".
Предположим, мы хотим сделать абсолютную ссылку на ячейку С5. Такую, чтобы она ВСЕГДА ссылалась на С5 вне зависимости от любых дальнейших действий пользователя. Выясняется забавная вещь — даже если сделать ссылку абсолютной (т.е. $C$5), то она все равно меняется в некоторых ситуациях. Например: Если удалить третью и четвертую строки, то она изменится на $C$3. Если вставить столбец левее С, то она изменится на D. Если вырезать ячейку С5 и вставить в F7, то она изменится на F7 и так далее. А если мне нужна действительно жесткая ссылка, которая всегда будет ссылаться на С5 и ни на что другое ни при каких обстоятельствах или действиях пользователя?
Действительно абсолютные ссылки
Решение заключается в использовании функции ДВССЫЛ (INDIRECT) , которая формирует ссылку на ячейку из текстовой строки.
Если ввести в ячейку формулу:
то она всегда будет указывать на ячейку с адресом C5 вне зависимости от любых дальнейших действий пользователя, вставки или удаления строк и т.д. Единственная небольшая сложность состоит в том, что если целевая ячейка пустая, то ДВССЫЛ выводит 0, что не всегда удобно. Однако, это можно легко обойти, используя чуть более сложную конструкцию с проверкой через функцию ЕПУСТО:
Microsoft Excel/Ссылки
Есть два вида представления ссылок в Microsoft Excel:
Включить стиль ссылок R1C1 можно в настройках «Сервис» —> «Параметры» —> закладка «Общие» —> галочка «Стиль ссылок R1C1»
Ссылки в Excel бывают 3-х типов:
- Относительные ссылки (пример: A1);
- Абсолютные ссылки (пример: $A$1);
- Смешанные ссылки (пример: $A1 или A$1, они наполовину относительные, наполовину абсолютные).
Знак $ здесь никакого отношения к денежным единицам не имеет, это лишь способ указать Excel тип ссылки. Различия между разными типами ссылок можно увидеть, если потянуть за маркер автозаполнения активной ячейки или диапазона ячеек, содержащих формулу со ссылками.
Относительные ссылки
Абсолютные ссылки
Смешанные ссылки
Для упрощения работы с ячейками или диапазоном ячеек можно дать ей/им имя, и затем обращаться к ячейке или диапазону не по его адресу, а по символьному имени. Именованные ячейки можно использовать везде, где можно использовать то значение, на которое указывает ссылка.
Примечание! Именованные ячейки по умолчанию являются абсолютными ссылками.
Для создания именованной ячейки нужно выделить нужную ячейку или диапазон, затем щелкнуть в текстовое поле (см. рис. ниже) ввести свое имя и нажать Enter. Можно использовать русские имена. Имя не может содержать пробелов и начинаться с цифры. Именованная ячейка может ссылаться на несвязный диапазон ячеек (выделенный с "Ctrl").
Для вставки именованной ячейки можно воспользоваться кнопкой со стрелкой вниз:
или нажать клавишу "F3", откроется следующее окно:
Пример использования: "=СУММ(tablica_1);"
Для того что бы убрать имя именованной ячейки (например: чтобы присвоить другой ячейке это имя) — Вставка/имя/присвоить/удалить. В Excel 2007 — Формулы/Диспетчер имен/Удалить.
Читайте также: