Одна из основных функций Эксель – работа с формулами, которые могут содержать как конкретные числовые значения, так и ссылки на другие ячейки таблицы. При этом ссылки могут быть как относительные, так и абсолютные. В этой статье мы разберемся, в чем их различия, и для чего они нужны.
Относительная ссылка – ссылка, в которой координаты ячейки меняются при копировании формулы в другую ячейку.
Абсолютная ссылка – ссылка, в которой координаты ячейки зафиксированы и не меняется при копировании.
Относительные ссылки
Смотрите также: “Как поменять строки местами в Excel”
Чтобы было нагляднее, давайте разберем примеры, и начнем мы с относительных ссылок, как более распространенных.
Допустим, у нас есть таблица, в которой заполнены столбцы с ценой за единицу товара и количеством реализованной продукции. Наша задача – вычислить сумму по каждому наименованию в соответствующей колонке.
Присвоение адреса ячейки в формуле программы Excel
Вот что нам нужно сделать:
- Переходим в самую верхнюю ячейку результирующего столбца (не считая шапки таблицы), ставим знак “равно” (“=”) и пишем в ней формулу: = B2*C2 .
- Когда выражение готово, нажимаем клавишу Enter на клавиатуре, после чего получаем результат в ячейке с формулой.
- Остается выполнить аналогичные расчеты в других ячейках столбца. Конечно же, если таблица небольшая, можно перейти в следующую ячейку и выполнить шаги 1-2, описанные выше. Но что делать, когда данных слишком много? Ведь на ручной ввод формул во все ячейки уйдет немало времени. На этот случай в Excel предусмотрена крайне полезная функция, позволяющая скопировать формулу в другие ячейки. Для этого наводим указатель мыши на правый нижний угол ячейки с результатом, и когда появится небольшой черный крестик (маркер заполнения), зажав левую кнопку мыши тянем его вниз, тем самым копируя формулу в другие ячейки.
- Отпустив кнопку мыши мы получим результаты во всех ячейках столбца, на которые растянули формулу.
- Если мы перейдем, например, в ячейку D3, то увидим в строке формул следующее выражение: =B3*C3 .
Т.е. при копировании изменились координаты ячеек, участвующих в исходной формуле, которую мы записали в ячейку D2. Это результат того, что ссылки были относительными.
Абсолютный и относительный адрес ячейки Excel
Возможные ошибки при работе с относительными ссылками
Безусловно, благодаря относительным ссылкам существенно упрощаются многие расчеты в Эксель. Однако, они не всегда помогают решить поставленную задачу.
Допустим, нам нужно посчитать долю каждого наименования в общих продажах.
- Встаем в первую ячейку столбца для расчетов, где пишем формулу: =D2/D13 .
- Нажимаем Enter, чтобы получить результат. После того, как мы скопируем формулу на оставшиеся ячейки столбца, вместо результатов увидим следующую ошибку: #ДЕЛ/0! .
Дело в том, что из-за того, что все ссылки на ячейки в формуле, которую мы скопировали, относительные, координаты в последующих ячейках сдвинулись. Т.е. для ячейки E3 формула выглядит следующим образом: =D3/D14 . Но, как мы видим, ячейка D14 – пустая, из-за чего программа и выдает ошибку, информирующую о том, что делить на цифру 0 нельзя.
Следовательно, мы должны написать формулу таким образом, чтобы координаты ячейки с итоговой суммой (D13) оставались неизменными при копировании. В этом нам помогут абсолютные ссылки.
Абсолютные ссылки
Смотрите также: “Функция ИНДЕКС в Excel: примеры, использование с ПОИСКПОЗ”
Как мы уже выяснили ранее, абсолютные ссылки позволяют зафиксировать координаты ячейки. Давайте посмотрим, как это работает на нашем примере.
По умолчанию, все ссылки в формулах Эксель относительные, поэтому, чтобы сделать их абсолютными, выполняем следующие действия:
- Для начала пишем формулу в привычном виде в требуемой ячейке. В нашем случае она выглядит так: = D2/D13 .
- Когда формула готова, не спешим нажимать клавишу Enter. Теперь нам нужно зафиксировать координаты ячейки D13. Для этого перед названием столбца и порядковым номером строки печатаем символ “$”. Или же можно просто после ввода адреса сразу нажать клавишу F4 на клавиатуре (курсор может находиться до, после или внутри координат). В итоге формула должна выглядеть следующим образом: D2/$D$13 .
- Теперь можно нажать Enter, чтобы вывести результат в ячейку.
- Остается только скопировать формулу с помощью маркера заполнения на нижние строки. На этот раз, благодаря тому, что мы зафиксировали ячейку с итоговой суммой, результат появится и в других ячейках.
Смешанные ссылки
Помимо ссылок, рассмотренных выше, в Excel также предусмотрены смешанные ссылки – когда при копировании формулы меняется одна из координат ячейки (столбец или номер строки).
- Если мы напишем ссылку как “$G5”, это означает, что будет меняться строка, а столбец будет зафиксирован.
- Если мы укажем “G$5”, в этом случае, фиксироваться будет номер строки, в то время, как столбец будет меняться.
Т.е. по сути, решить задачу выше с определением доли каждого наименования в общих продажах можно будет путем фиксации лишь номера строки, так как столбец в любом случае, даже при относительной ссылке, не менялся.
Примечание: вместо ручного ввода символов “$” можно задать тип ссылок (абсолютные, относительные, смешанные) с помощью функциональной клавиши F4. При это курсор должен находится в пределах координат ячейки, в отношении которой мы хотим выполнить данное действие.
Заключение
Смотрите также: “Как возвести число в степень в Эксель”
Благодаря относительным, абсолютным и смешанным ссылкам в Эксель выполняется огромное количество различных расчетов. Поэтому для успешной работы в программе, следует тщательно разобраться в них, чтобы максимально эффективно и рационально выполнить очередную задачу.
Источник: microexcel.ru
Адресация ячеек в Excel
В Excel ячейка, строка, столбец и диапазон ячеек рассматривается как один объект Range.
Для определения диапазона используются различные средства, задаваемые с помощью следующих свойств и методов.
Range — свойство, определяющее диапазон ячеек ;
Cells — свойство, позволяющее выбирать ячейки рабочего листа;
ActiveCell — свойство, возвращающее одну активную ячейку;
Selection — метод, возвращающий выделенный объект.
Для доступа к диапазону ячеек чаще всего используются свойства Range и Cells.
Для ссылки на ячейки используется два формата:
Формат A1 (обычный). Ссылка состоит из имени столбца и номера строки. Например, D4. Ссылка может быть относительной(D4) и абсолютной ($D$4). Ссылка может указывать диапазон ячеек.
Полный адрес диапазона может включать имя рабочего листа.
Формат R1C1. В данном формате R задает номер строки, C – номер столбца, ссылка является абсолютной. Для указания относительной ссылки задается смещение по отношению к активной ячейке. Смещение указывается в квадратных скобках, знак указывает направление смещения. Например, R[-2]C — ссылка на ячейку, расположенную на 2 строки выше в том же столбце.
R[2]C[3] — ссылка на ячейку, расположенную на 2 строки ниже и 3 столбца правее. Ссылка на одиночную ячейку имеет вид:
[Объект.] Range (“адрес ячейки”). Для свойства Range в качестве аргумента используется любая ссылка в формате A1. Например, WorkSheets(“Лист1”).Range(“A7”)=34 или для текущего листа Range(“A7”)=34 — запись в ячейку A7 числа 34.
[Объект.] Cells(, ). Свойство используется для доступа к отдельной ячейке. В качестве аргументов указываются номер строки и столбца. Например, для ввода числа 34 в ячейку Лист1!A7, необходима команда: Sheets(1).Cells(7, 1). Value=34
Номер строки и столбца могут задаваться с помощью переменных, это позволяет обращаться к разным ячейкам таблицы.
Пример. Нужно поместить число 3500 в ячейку Прейскурант!D3. Для этого напишем процедуру с неявным объявлением переменных: i — для номера строки и j – для номера столбца.
Sub Ввод()
Sheets(“Прейскурант”).Cells(i, j). Value=3500
Для указания диапазона можно использовать разные способы. Например, для диапазона A1:D7 применимы ссылки: Range(Cells(1,1), Cells(7,4)) или Range( “A1:D7”), для отдельно стоящих ячеек можно задать перечисление: Range(“A1,B2,C3,D4”) или Range(“A2:C4,D4:D8”).
Операторы, выражения и операции
Операторы в VBA являются основными элементами кода. Последовательность операторов образует процедуру. Операторы состоят из ключевых слов и выражений, они выполняют основные операции программы. Различают простые операторы, записываемые в одну строку и сложные, называемые «структурами» (операторы условия и циклов).
Выражение – это комбинация знаков операций и операндов, а также скобки. Назначение любого выражения — получение некоторого значения. Это значение является результатом и используется командой. Примеры:
Kol>15 — логическое выражение
Str*31/100 — арифметическое выражение
Самые простые операторы – это операторы присваивания, используются для присвоения переменной нужного значения соответственно типу данных. Значение может быть задано константой или выражением, например:
Рассмотрим некоторые операторы языка VBA подробней.
Операторы выбора
Операторы выбора используются в программе для реализации условных алгоритмических конструкций, которые вызывают выполнение различных частей программы в соответствии с условиями, существующими на момент выполнения этих операторов. В VBA есть два основных оператора выбора: операторы условия If … Then и переключатели Select Case.
Оператор If … Then используется для того, чтобы выполнить какой-либо оператор или несколько операторов, если некоторое условие будет истинным.
Синтаксическая конструкция этого оператора может иметь две формы:
- безальтернативную: If условие Then выражение
- альтернативную: If условие Then выражение_1 Else выражение_2.
Источник: studfile.net
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.
Абсолютная или относительная
Если не указывать значение аргумента abs_num (тип_ссылки) в формуле, то результатом будет абсолютная ссылка.
Чтобы увидеть адрес в виде относительной ссылки, можно подставить в качестве аргумента abs_num (тип_ссылки) значение 4.
A1 или R1C1
Чтобы задать стиль ссылок R1C1, вместо принятого по умолчанию стиля A1, Вы должны указать значение FALSE (ЛОЖЬ) для аргумента а1.
Название листа
Последний аргумент – это имя листа. Если Вам необходимо это имя в полученном результате, укажите его в качестве аргумента sheet_text (имя_листа).
Пример 2: Находим значение ячейки, используя номер строки и столбца
Функция ADDRESS (АДРЕС) возвращает адрес ячейки в виде текста, а не как действующую ссылку. Если Вам нужно получить значение ячейки, можно использовать результат, возвращаемый функцией ADDRESS (АДРЕС), как аргумент для INDIRECT (ДВССЫЛ). Мы изучим функцию INDIRECT (ДВССЫЛ) позже в рамках марафона 30 функций Excel за 30 дней.
Функция INDIRECT (ДВССЫЛ) может работать и без функции ADDRESS (АДРЕС). Вот как можно, используя оператор конкатенации «https://office-guru.ru/excel/30xl30d-adres-address-150.html» target=»_blank»]office-guru.ru[/mask_link]