Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции СМЕЩ в Microsoft Excel.
Описание
Данная функция возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов. Возвращаемая ссылка может быть отдельной ячейкой или диапазоном ячеек. Можно задавать количество возвращаемых строк и столбцов.
Синтаксис
СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина])
Аргументы функции СМЕЩ описаны ниже.
-
Ссылка — обязательный аргумент. Ссылка, от которой вычисляется смещение. Аргумент «ссылка» должен быть ссылкой на ячейку или на диапазон смежных ячеек, в противном случае функция СМЕЩ возвращает значение ошибки #ЗНАЧ!.
-
Смещ_по_строкам Обязательный. Количество строк, которые требуется отсчитать вверх или вниз, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку. Например, если в качестве значения аргумента «смещ_по_строкам» задано число 5, это означает, что левая верхняя ячейка возвращаемой ссылки должна быть на пять строк ниже, чем указано в аргументе «ссылка». Значение аргумента «смещ_по_строкам» может быть как положительным (для ячеек ниже начальной ссылки), так и отрицательным (выше начальной ссылки).
-
Смещ_по_столбцам Обязательный. Количество столбцов, которые требуется отсчитать влево или вправо, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку. Например, если в качестве значения аргумента «смещ_по_столбцам» задано число 5, это означает, что левая верхняя ячейка возвращаемой ссылки должна быть на пять столбцов правее, чем указано в аргументе «ссылка». Значение «смещ_по_столбцам» может быть как положительным (для ячеек справа от начальной ссылки), так и отрицательным (слева от начальной ссылки).
-
Высота Необязательный. Высота (число строк) возвращаемой ссылки. Значение аргумента «высота» должно быть положительным числом.
-
Ширина Необязательный. Ширина (число столбцов) возвращаемой ссылки. Значение аргумента «ширина» должно быть положительным числом.
Примечания
-
Если аргументы «смещ_по_строкам» и «смещ_по_столбцам» выводят ссылку за границы рабочего листа, функция СМЕЩ возвращает значение ошибки #ССЫЛ!.
-
Если высота или ширина опущена, то предполагается, что используется та же высота или ширина, что и в аргументе «ссылка».
-
Функция СМЕЩ фактически не передвигает никаких ячеек и не меняет выделения; она только возвращает ссылку. Функция СМЕЩ может использоваться с любой функцией, в которой ожидается аргумент типа «ссылка». Например, с помощью формулы СУММ(СМЕЩ(C2;1;2;3;1)) вычисляется суммарное значение диапазона, состоящего из трех строк и одного столбца и расположенного одной строкой ниже и двумя столбцами правее ячейки C2.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Формула |
Описание |
Результат |
---|---|---|
=СМЕЩ(D3;3;-2;1;1) |
Отображает значение ячейки B6 (4) |
4 |
=СУММ(СМЕЩ(D3:F5;3;-2;3;3)) |
Суммирует диапазон B6:D8. |
34 |
=СМЕЩ(D3;-3;-3) |
Возвращает ошибку, так как ссылка указывает на несуществующий диапазон листа. |
#ССЫЛ! |
Данные |
Данные |
|
4 |
10 |
|
8 |
3 |
|
3 |
6 |
Нужна дополнительная помощь?
Функция СМЕЩ в Excel предназначена для создания ссылки на определенную ячейку или диапазон ячеек, находящихся на определенном расстоянии от указанной ячейки, измеряемом в заданном в качестве аргумента количестве столбцов и строк, и возвращает соответствующую ссылку. Синтаксис данной функции позволяет указывать требуемое количество возвращаемых столбцов и строк.
Примеры использования функции СМЕЩ в Excel
Пример 1. В таблицу Excel на протяжении экзамена записываются оценки, которые получили уже сдавшие предмет экзамены. Реализовать алгоритм динамического расчета среднего значения балла за экзамен для группы студентов.
Вид исходной таблицы:
Формула для расчета:
Функция ЕСЛИОШИБКА используется для вывода сообщения об отсутствии данных для расчета. Функция СРЗНАЧ принимает диапазон ячеек, возвращаемых функцией СМЕЩ со следующими параметрами:
- B3 – ссылка на начальную ячейку (точку отсчета);
- 0 – нулевое смещение по строкам;
- 0 – нулевое смещение по столбцам;
- СЧЁТ(B3:B14) – количество ячеек из диапазона B3:B14, которые содержат ненулевые значения, характеризующее высоту диапазона возвращаемых ячеек;
- 1 – ширина диапазона возвращаемых значений (в 1 столбец).
Результаты расчета по мере заполнения данными:
Примечания к примеру:
- Данные должны вноситься последовательно в каждую новую строку, иначе расчет выполняться не будет.
- Пример решения приведен в целях демонстрации использования функции СМЕЩ, решение задачи может быть реализовано более простым и надежным способом.
Динамическое обновление итоговых данных таблицы в Excel
Пример 2. В таблице Excel внесены данные о количестве продаж товаров за все время работы компании. Для еженедельного учета требуется выводить данные о продажах (общая сумма проданных товаров) за прошедшие 7 дней. Реализовать динамическое обновление данных.
Вид исходной таблицы данных:
Для расчета суммы проданных единиц товаров за последние 7 дней используем формулу:
Описание аргументов функции СМЕЩ:
- B3 – ссылка на ячейку, относительно которой выполняется отсчет;
- СЧЁТЗ(B3:B1000)-7 – функция, подсчитывающая количество непустых ячеек в диапазоне B3:B1000 (ячейка B1000 взята условно с запасом для последующих записей). От итогового результат вычитается число 7, поскольку по условию необходимо получить данные за неделю. В целом выражение определяет начальную позицию массива возвращаемых ячеек по вертикали относительно точки отсчета B3;
- 0 – нулевое смещение по столбцам (искомый диапазон ячеек находится в том же столбце, что и точка отсчета B3);
- 7 – высота диапазона возвращаемых ячеек (7 ячеек);
- 1 – ширина диапазона возвращаемых ячеек.
Полученный результат в результате расчетов:
При добавлении новых данных пересчет выполняется автоматически.
Выборка значений из таблицы с помощью функции СМЕЩ в Excel
Пример 3. В таблице содержатся данные о средних значениях курсов валют по месяцам года. Реализовать алгоритм вывода значений курсов в строку под таблицей по выбранному номеру месяца.
Исходная таблица данных имеет следующий вид:
Используем элемент управления «Счетчик» для выбора номера месяца. Для этого добавим пункт ленты меню «Разработчик» нажатием правой кнопкой мыши по любому существующему ее элементу:
Выберем пункт настройка ленты и в открывшемся окне установим флажок напротив пункта «Разработчик»:
В ленте добавится новый пункт меню. Выберем его, найдем кнопку «Вставить» и нажмем ее:
Выберем элемент «Счетчик», наведем курсор (вместо стрелки форма «+») на требуемую ячейку (в данном случае A16), выделим область для счетчика. После того, как кнопка мыши будет отпущена, появится заготовка счетчика. Нажмем правой кнопкой по счетчику и выберем пункт «Формат объекта»:
Заполним текущее и минимальное значения, а также установим связь с ячейкой, в которой данный счетчик находится:
Нажмем кнопку «ОК» и выделим любую другую ячейку на листе, чтобы завершить процесс настройки счетчика. В итоге получим:
Для вывода курсов доллара и евро соответственно используем функции:
=СМЕЩ(A1;A16;1)
=СМЕЩ(A1;A16;2)
В результате имеем возможность динамического вывода значений в зависимости от выбранного номера месяца. Примеры работы:
Особенности использования функции СМЕЩ в Excel
Функция имеет следующую синтаксическую запись:
=СМЕЩ(ссылка;смещение_по_строкам;смещение_по_столбцам;[высота];[ширина])
Описание аргументов:
- ссылка – обязательный для заполнения аргумент, принимающий данные ссылочного типа, характеризующие ячейку или диапазон ячеек, относительно которых производится отсчет расстояния до возвращаемых ячейки или диапазона ячеек;
- смещение_по_строкам — обязательный аргумент, который принимает данные числового типа, характеризующие расстояние между точкой отсчета (указанной аргументом ссылка) и возвращаемой ячейкой либо диапазоном ячеек. В качестве аргумента может быть передано:
- Положительное целое число. В этом случае смещение относительно точки отсчета выполняется вправо на указанное число ячеек.
- 0 – искомая ячейка или диапазон ячеек находятся в текущей строке.
- Отрицательное число – смещение влево на указанное число, взятое по модулю.
- Дробное число – функция СМЕЩ выполняет усечение дробной части, и использует полученное целое число для определения величины смещения по строкам.
- смещение_по_столбцам – обязательный аргумент, принимающий числовые значения, указывающие на величину смещения по столбцам относительно выбранной точки отсчета. Указанные свойства аргумента смещ_по_строкам верны для смещ_по_столбцам в интерпретации по вертикали. Например:
- Функция =СМЕЩ(A5;0;2) вернет ссылку на ячейку C5;
- Функция =СМЕЩ(A5;2;0) вернет ссылку на ячейку A7;
- Функция СМЕЩ с аргументами (C5;0-2) вернет ссылку на ячейку A5;
- Функция с аргументами (D5;0;-3,8) вернет ссылку на ячейку A5.
- [высота] – необязательный аргумент, принимающий числовое значение, характеризующее число ячеек по высоте (количество строк) возвращаемого диапазона ячеек. Принимает значения из диапазона целых положительных чисел, начиная от 1 (если принимает значение 0, функция СМЕЩ вернет код ошибки #ССЫЛКА!);
- [ширина] – необязательный для заполнения аргумент, принимающий числовое значение, которое характеризует ширину диапазона возвращаемых ячеек. Передаваемое значение должно быть целым положительным числом от 1 до +∞.
Примечания:
- Если функция СМЕЩ ссылается на ячейку или диапазон ячеек, которые находятся вне пределов рабочего листа по условиям, заданным параметрами смещ_по_строкам и смещ_по_столбцам, результатом выполнения данной функции будет код ошибки #ССЫЛКА!.
- Если необязательные аргументы [высота] и [ширина] явно не казаны, они принимают значения, равные высоте и ширине диапазона ячеек, указанного в качестве аргумента ссылка. Если ссылка принимает одну ячейку, данные аргументы по умолчанию принимают значения 1 и 1 соответственно.
- Функция СМЕЩ может быть использована в качестве аргумента любой функции, принимающей данные ссылочного типа.
- Если аргумент ссылка принимает ссылочное значение на единственную ячейку, а необязательные параметры указывают на диапазон (заданы числами, больше 1), тогда функция вернет код ошибки #ЗНАЧ! (пример с ошибкой – результат выполнения функции с аргументами (A5;2;3;3;2)).
Функция СМЕЩ в Excel используется, когда вы хотите получить ссылку, которая смещается на указанное число строк и столбцов от начального положения.
Содержание
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Основной принцип работы функции
- Примеры использования функции СМЕЩ в Excel
- Пример 1. Ищем последнюю заполненную ячейку в колонке
- Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных
- Дополнительная информация
- Альтернативы функции OFFSET (СМЕЩ) в Excel
Что возвращает функция
Возвращает ссылку, которая смещается на заданное количество ячеек.
Синтаксис
=OFFSET(reference, rows, cols, [height], [width]) — английская версия
=СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина]) — русская версия
Аргументы функции
- reference (ссылка) — ссылка на ячейку, от которой вы хотите сделать смещение. Это может быть ссылка на ячейку или диапазон смежных ячеек;
- rows (смещ_по_строкам) — количество строк для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение строк ниже, если отрицательное — выше;
- cols (смещ_по_столбцам) — количество колонок для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение колонок вправо, если отрицательное число, то влево;
- [height] ([высота]) — количество строк в указанном диапазоне функции;
- [width] ([ширина]) — количество колонок в указанном диапазоне функции.
Основной принцип работы функции
Функция СМЕЩ, пожалуй, самая запутанная функция в Excel.
Давайте разберем ее работу на простом примере игры в шахматы. В шахматах есть фигура Ладья.
Источник фото: Wikipedia
По правилам игры в шахматы, Ладья может ходить только вправо, влево, вниз и вверх. Фигура не может передвигаться по диагонали.
Теперь давайте представим, что нашей Ладье нужно переместиться не строго влево или вправо, а на ячейку, находящуюся по диагонали от изначальной позиции. Что мы будем делать этом случае?
Правильно, мы будем использовать несколько шагов, для того чтобы привести Ладью к цели. Тот же принцип действует и в функции OFFSET (СМЕЩ).
Рассмотрим перемещение Ладьи на примере в Excel. Мы хотим начать с ячейки D5 (где находится ладья), а затем перейти на две строки вниз и два столбца вправо и извлечь значение из ячейки. Для этого будем использовать формулу:
=OFFSET(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — английская версия
=СМЕЩ(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — русская версия
Как вы видите формула по нашему примеру выглядит так:
=OFFSET(D5,2,2) — английская версия
=СМЕЩ(D5;2;2) — русская версия
Функции задан аргумент старта отсчета с ячейки «D5», затем смещение на две строки вниз, после этого на две колонки вправо. Так мы переместимся с ячейки «D5» на ячейку «F7». По завершении перемещения функция выдает значение ячейки «F7».
На примере выше мы рассмотрели функцию OFFSET (СМЕЩ) с тремя аргументами. Но есть еще два необязательных аргумента, которые можно использовать.
Давайте рассмотрим простой пример:
Больше лайфхаков в нашем Telegram Подписаться
Предположим, вы хотите использовать ссылку на ячейку «A1» (желтую), и хотите сослаться на весь диапазон, выделенный синим (C2:E4) в формуле.
Как бы вы это сделали с помощью клавиатуры? Сначала нужно перейти к ячейке C2, а затем выбрать все ячейки в диапазоне «C2:E4».
Теперь посмотрим, как это сделать, используя формулу OFFSET (СМЕЩ):
=OFFSET(A1,1,2,3,3) — английская версия
=СМЕЩ(A1;1;2;3;3) — русская версия
Если вы используете эту формулу в ячейке, она вернет #VALUE! Но если вы перейдете в режим редактирования, выберете формулу и нажмите клавишу «F9», вы увидите, что она возвращает все значения, выделенные синим цветом.
Надеюсь, теперь у вас есть базовое понимание использования функции OFFSET (СМЕЩ) в Excel.
Примеры использования функции СМЕЩ в Excel
Пример 1. Ищем последнюю заполненную ячейку в колонке
Представим, что у вас есть данные в колонке. Для того чтобы отобразить последнее значение в колонке используйте формулу:
=OFFSET(A1,COUNT(A:A)-1,0) — английская версия
=СМЕЩ(A1;СЧЁТ(A:A)-1;0) — русская версия
Эта формула предполагает, что кроме указанных значений нет никаких других, и в этой колонке нет пустых ячеек. Функция работает, подсчитывая общее количество заполненных ячеек и соответствующим образом смещает ячейку «A1».
Например, в указанном примере есть 8 значений, поэтому функция COUNT(A:A) или СЧЁТ(A:A) возвращает 8. Мы смещаем ячейку «A1» на 7, чтобы получить последнее значение.
Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных
Вы можете использовать принцип из Примера 1 для создания динамического выпадающего списка с автоматическим дополнением новых данных. Например, вы создали выпадающий список и хотите, чтобы при добавлении новых строк, значения автоматически подгружались в выпадающий список.
Обратите внимание, что на примере выше, значения автоматически появляются и исчезают из выпадающего списка, как только вы вносите изменения в диапазон ячеек, указанный для выпадающего списка.
Это происходит, поскольку формула, которая используется для создания раскрывающегося списка, является динамической и определяет любое добавление или удаление и соответствующим образом корректирует диапазон.
Как сделать такой список:
- Выберите ячейку, в которой вы хотите создать выпадающий список;
- Нажмите на вкладку Data => Data Tools => Data Validation;
- В диалоговом окне Data Validation, в разделе Настройки выберите List из выпадающего списка;
- В параметрах Source укажите формулу =OFFSET(A1,0,0,COUNT(A:A),1) или =СМЕЩ(A1;0;0;СЧЁТ(A:A);1)
- Нажмите ОК
Как эта формула работает:
Первые три аргумента функции OFFSET (СМЕЩ) A1, 0, 0. Это означает что начальное значение в ячейке «A1», которое не смещается ни по строкам и по колонкам (0, 0);
Четвертый аргумент функции указывает на высоту, и здесь функция COUNT (СЧЁТ) возвращает суммарное количество ячеек в диапазоне данных для выпадающего списка. Главное условие — отсутствие пустых ячеек в диапазоне.
Пятый аргумент функции “1”, обозначает ширину диапазона данных, которая в нашем случае равна одной колонке.
Дополнительная информация
- Функция OFFSET (СМЕЩ) — волатильная функция. Она пересчитывается каждый раз, как только вы открываете Excel файл. Работа этой функции может сильно сказываться на скорости работы всего файла.
- Если значения высоты и ширины не указаны, функция учитывает только первые три аргумента;
- Если значения аргументов rows (смещ_по_строкам) и cols (смещ_по_столбцам) отрицательны, то смещение будет происходить в обратную сторону.
Альтернативы функции OFFSET (СМЕЩ) в Excel
Ввиду некоторых ограничений функции, многие из вас рассматривают альтернативные методы:
- Функция INDEX (ИНДЕКС) также может использоваться для возврата ссылки на ячейку.
- Excel таблицы: если вы используете структурированные ссылки в таблице Excel, вам не нужно беспокоиться о добавлении новых данных и необходимости корректировки формул.
Функция СМЕЩ() в MS EXCEL
Смотрите также часто, то имеет на вкладке переводится в евро шрифтом есть в понял путем перемещения и
а переместим, то писать свои вопросы я использовал функцию равна 12 (при
Синтаксис функции СМЕЩ()
вычисления формулы СЧЁТЗ(лист1!$B$5:$I$5),
- для диапазона суммирования. Формула получится такая. заполненные ячейки и
- . Результат 34.Функция СМЕЩ(), английский вариант смысл использовать дляГлавная — Найти и по курсу из постановке задачи из200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$A:$IU;2+2*(СТРОКА()-1);ПРОСМОТР(9^9;ПОИСКПОЗ($A1:F1;ИНДЕКС(Лист2!$A:$IU;2+2*(СТРОКА()-1);0);))+1)
- это уже считается адреса ее ссылок в чужих темах смещение и столкнулся желании ее также т.е. 4 (в
- Для формирования динамических диапазонов=СУММ(СМЕЩ(B2;СЧЁТЗ(_1_кв.)-3;0;3;1)) три заполненных нижнихВДля подсчета суммы значений
- OFFSET(), возвращает ссылку этого макрос. Нажмите выделить — Заменить желтой ячейки J2.
файла.AlexM для Excel иной
Примеры
не изменятся, несмотряЭта тема закрыта.
со сложностью, так можно сделать также строке 5 присутствуют будем использовать функциюВ формуле написано ячейки (-3) братьExcel функция «СМЕЩ» в столбце Продажа2 на диапазон ячеек. сочетание клавиш
(Home — Find&SelectПроблема в том, чтоЯ правда тоже
: Если в столбце
способ присваивания адресов на то, чтоСоздавайте свою как данные Лист1 динамической – зависящей 4 месяца с СМЕЩ(), которая возвращает «_1_кв.» — это
для подсчета суммы.поможет всегда считать запишем формулу:
Размер диапазона иAlt+F11 — Replace)
если скопировать диапазон отклонился от точного А сделать номера в формулах данной они относительные. ПриЦелью этого урока является должны располагаться горизонтально, от количества товаров января по апрель).
ссылку на диапазон имя динамического диапазона Формула «СМЕЩ» переместит последние данные в
=СУММ(СМЕЩ($B$2;0; его положение задаетсяили кнопку
В появившемся диалоговом окне D2:D8 с формулами задания. В моем строк, то формула ячейки. Чтобы еще перемещении ссылки на
научить пользователя контролировать при этом данные в диапазоне).
Итак, адрес нижней в зависимости от столбца, в котором
стартовую ячейку А2 таблице, если в1 в параметрах этой
Функция СМЕЩ() vs ИНДЕКС()
Visual Basic вводим что ищем куда-нибудь в другое случае копирование из очень простая раз в этом ячейки ведут себя адреса ссылок на на Лист2 располагаются
И наконец, записав в
правой ячейки нашего значения заданных аргументов. считаются данные в на ячейку, посчитанную таблицу постоянно добавляют;8;1)) функции.на вкладке и на что место на лист, В1, а не200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$A:$L;2*СТРОКА();СЧЁТ($A1:A1))
убедиться, снова приведите как абсолютные. Об ячейки в формулах вертикально.При копировании формулы
excel2.ru
Примеры функции «СМЕЩ» в Excel.
ячейке динамического диапазона определен Можно задавать высоту трех последних ячейках. функцией «СЧЁТЗ», возьмет новые данные. ЧтобыТеперь левый верхнийФункция СМЕЩ() часто используетсяРазработчик (Developer) заменяем и в то Microsoft Excel из А1.
Perfect2You табличку на «Лист1» этом следует всегда при их копировании в сталбец «E»С2 – это и ширину диапазона,В Excel можно последние три заполненные понять, для чего угол диапазона суммирования при создании динамических, вставьте новый модуль Параметрах (Options) не автоматически скорректирует ссылкиВ пустые ячейки: Или без дополнительного
в изначальный вид помнить пользователю Excel.
или перемещении.
Лист1,смещение идет горизонтально.формулу =СУММ(Продажи_за_месяц) получимE5 а также смещение посчитать не только ячейки для счета
функция «СМЕЩ» и смещен от диапазонов. Рассмотрим ее
через меню
забываем уточнить Область в этих формулах, между копиями столбцов, столбца, но в как на первомПримечание. В разделе, посвященномВ зависимости от того Подскажите, пожалуйста, как сумму продаж в
. по строкам и
конечные итоги, но из указанного в как она работает,$B$2 подробнее.Insert — Module поиска — Формулы. сдвинув их на могут быть с столбце A сохраняется рисунке. формулам, будет уделено копируется или перемещается сделать так что выбранном месяце.При заполнении таблицы данными столбцам. и промежуточные - формуле диапазона (из прочитайте статью «Функцияна один столбецСМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;высота;ширина), где
и скопируйте туда Жмем Заменить все
новое место и текстовыми значениями, они то, что былоНа этот раз в
больше внимания относительным формула в Excel,
бы,смещение шло вертикальноНапример, в мае. о продажах за
Создадим динамический диапазон для
по разделам, строкам,
А2:А20). «СМЕЩ» в Excel». вправо, т.е. диапазонссылка текст вот такого (Replace all).
перестав считать:
формулы не собьют. у Вас, а ячейку E2 скопируйте и абсолютным ссылкам. адреса ее ссылок относительно Ссылки, вИли, например, в апреле. май, июнь и Выпадающего списка, содержащего т.д. В Excel«0» — нетЗдесь разберем суммирования стал- ссылка, от макроса:Копируем получившийся диапазон сЗадача: скопировать диапазон сPS. виртуозом я далее уже формулу из B2, А пока отметим могут существенно отличаться. формуле смещения. ПримерПримечание: т.д., формула СЧЁТЗ(лист1!$B$5:$I$5)
месяцы. С одной
есть специальная функция, смещения по столбцам.примеры функции «СМЕЩ» в$C$2:$C$9 которой вычисляется смещение;Sub Copy_Formulas() Dim
деактивированными формулами в
формулами так, чтобы еще не стал.200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$A:$L;2*СТРОКА();СЧЁТ($A1:A1)+1) а в ячейку что по умолчанию Об этом нужно
файла прилагаю, будуВместо формулы с будет возвращать число стороны нужно учитывать с помощью которой,«3» — братьExcel. Результат 68.смещ_по_строкам copyRange As Range, нужное место: формулы не изменились Только учусь уЭто конкретно для D2 переместите туже
excel-office.ru
Динамический диапазон в MS EXCEL
ссылки относительные, а помнить всегда! признателен за помощь. функцией СМЕЩ() для заполненных ячеек (количество тот факт, что можно быстро настроить диапазон для счета,. Эта функция автоматическиДля подсчета суммы значений
- количество строк, pasteRange As RangeЗаменяем и остались теми коллег по форуму. B1. самую формулу.
если в адресеНа готовом примере разберемС уважением, подсчета заполненных месяцев названий месяцев) и пользователь может добавлять
Задача
таблицу на подсчет состоящий из трех меняет в формуле
в столбцах Продажа1 которые требуется отсчитать On Error Resume# же самыми, сохранивmiha_У Вас строкиПрограмма нас информирует, что присутствует символ «$» согбенности изменения ссылок
Эльдар можно использовать формулу соответственно определять новую продажи за следующие промежуточных итогов. Подробнее строк (ячеек).
адрес диапазона таблицы, и Продажа2, изменим вверх или вниз, Next Set copyRangeна результаты расчета.: Всем большое спасибо! вытягиваются через одну. мы имеем ошибку — значит ссылка в формулах. Но
_Boroda_ с функцией ИНДЕКС(): ширину динамического диапазона, после апреля месяцы про эту функцию«1» — в относительно конкретной ячейки. ширину диапазона. чтобы левая верхняя = Application.InputBox(«Выделите ячейки=Как можно заметитьmiha_ Так и надо? «неправильная ссылка на абсолютная.
перед тем как
- : Не советую Пользоваться=$B$5:ИНДЕКС(B5:I5;СЧЁТЗ($B$5:$I$5)) который в свою (май, июнь…), с
- читайте в статье диапазоне один столбец.
- Помогает настроить таблицу,=СУММ(СМЕЩ($B$2;0;0;8;
- ячейка результата ссылалась с формулами, которые
- обратно с помощью
по предыдущей картинке,
: Уважаемые, форумчане!Всем добрыйИ еще. Если ячейку» в E2.Теперь усложним задание. Верните скопировать формулу в для таких случаевФормула подсчитывает количество элементов очередь будет формировать другой стороны Выпадающий «Промежуточные итоги вПолучается, нужно посчитать чтобы считались новые2 на нужную ячейку надо скопировать.», _ того же окна, Excel сдвигает только вечер!Рад всех приветствовать! где-то будет вставлено Но если бы табличку до изначального Excel, создайте на СМЕЩем — при в строке 5 Выпадающий список. список не должен Excel». сумму ячеек А5, добавленные данные за)) (по умолчанию =0); «Точное копирование формул», возвращая функциональность формулам. относительные ссылки. Абсолютная
Друзья, к сожалению значение в отдельную мы не переносили, вида как на листе простую табличку достаточном количестве подобных (функция СЧЁТЗ()) иВНИМАНИЕ! При использовании функции содержать пустые строки.Если вам необходимо постоянно А6, А7. определенный период. Чтобы
указав ширину всмещ_по_столбцам Default:=Selection.Address, Type:=8) IfЭтот способ существенно быстрее (со знаками $) не удалось достичь
ячейку, то в а просто скопировали первом рисунке. Выполните
как показано на
- формул будет тормозить определяет ссылку на СЧЕТЗ() необходимо убедиться Динамический диапазон как
- добавлять значения вПолучится так.
- в графике отражались 2 ячейки, результат
- – аналогично
copyRange Is Nothing
и проще. ссылка на желтую необходимого результата.скорее всего последующих столбцах будут формулы, то никаких ряд последовательных действий: рисунке:200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$E46:$E57;СТОЛБЕЦ()-СТОЛБЕЦ($E7)+1) последний элемент в в отсутствии пустых раз и служит столбец, то дляСумма равна 15. последние данные из составит 102, диапазонсмещ_по_строкам, Then Exit SubНажмите сочетание клавиш ячейку $J$2 не моя вина - значения из РАЗНЫХ ошибок не возникло.Скопируйте «Лист1», например сСкопируйте значения столбца Bно если очень строке (функция ИНДЕКС()), ячеек! Т.е. нужно
для решения такой правильной работы ВашихНо, если добавить таблицы за определенный будет модифицирован втолько смещение отсчитывается
Set pasteRange =
Ctrl+Ё
сместилась. Поэтому для
не совсем корректно столбцов, т.к. проверкаПримечание. Быстро перемещать формулы помощью мышки+CTRL. Наведите (например, комбинацией клавиш
хочется, то так
тем самым возвращает заполнять перечень месяцев задачи. формул, Вам наверняка в ячейку А8 период времени, т.д.$В$2:$С$9 по столбцам (по Application.InputBox(«Теперь выделите диапазон или кнопку
Визуальное отображение динамического диапазона
точного копирования формул задал вопрос.В примере идет по каждой можно с помощью указатель на ярлычок CTRL+C) и вставьтеКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СМЕЩ(Лист2!$E45;СТОЛБЕЦ(A7);) ссылку на диапазон
без пропусков.
Для создания динамического диапазона: понадобятся динамические диапазоны, данные, то формула Об этом читайте.
Применение динамического диапазона
умолчанию =0); вставки.» & vbCrLfПоказать формулы можно временно перевести более подробно написал строке отдельно. Чтобы перетаскивания ячейки мышкой первого листа. Удерживая их в столбец
excel2.ru
Функция смещение. (Формулы)
китинB5:E5
Теперь создадим еще один
на вкладке Формулы в которые автоматически увеличиваются посчитает сумму трех статью «Динамические графикиДобавив смещение по строкамвысота & vbCrLf &на вкладке все ссылки во свой вопрос.Если не это исключить, нужно удерживая левую клавишу левую клавишу мышки D (CTRL+V) .: вариант. динамический диапазон для группе Определенные имена или уменьшаются в нижних ячеек – в Excel». (+1), получим результат- число строк _ «Диапазон должен
Формулы (Formulas — Show
всех формулах в
сложно посмотрите)Хорошего вечера проверяться по одной после наведения указателя и клавишу CTRL А потом переместите200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$E$46:$E$57;СТОЛБЕЦ(A1);)
Выделить текущий динамический диапазон
суммирования продаж. выберите команду Присвоить
зависимости от количества
А6, А7, А8.У нас такая 99:
возвращаемой ссылки. Значение быть равен по formulas)
абсолютные. Нужно будет и отличного настроения!
(например, первой) строке. на рамку курсора на клавиатуре, переместите данные из столбца
Eldar4ik можно с помощьюДля создания динамического диапазона: имя; ваших данных.Второй пример. таблица.=СУММ(СМЕЩ($B$2; аргумента «высота» должно размеру исходному «, чтобы включить режим выделить каждую формулуAlexM Тогда выделенной ячейки. А ярлычок (копия листа) B в E: _Boroda_, китин, Спасибо Условного форматирования. Вна вкладке Формулы в
в поле Имя введите:
Динамический диапазон — это
Вместо цифр, указывающихПервый пример.1
быть положительным числом;
& vbCrLf &
excelworld.ru
Копирование формул без изменения адресов относительных ссылок
проверки формул - в строке формул: Объединение ячеек убрал.Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$A:$L;2*СТРОКА();СЧЁТ($A$1:A$1)+1) выполнив это действие в новое место.
(например, комбинацией клавиш большое! файле примера для группе Определенные имена Месяц; Именованный диапазон с количество строк, столбцов,
Копирование формул Excel без изменений ссылок
Например, таблица дополняется;0;8;2))ширина _ «диапазону копируемых в ячейках вместо и нажать клавишу Формулу поправил, наAlexM с нажатой клавишей
Отпустите сначала мышку, CTRL+X).Kreed ячеек диапазона выберите команду Присвоитьв поле Область выберите изменяющимися границами. Границы в формуле функции новыми данными каждыйдиапазон будет модифицирован
- число столбцов ячеек.», «Точное копирование результатов начнут отображатьсяF4 листе чуть изменил: Тогда не выполняется CTRL, тогда формула
а потом клавиатуру.Теперь переключитесь в режим: Добрый день!B6:I14 имя; лист Книга; диапазона изменяются в
«СМЕЩ» можно писать
Копирование формул в Excel со смещением
день. Нам нужно в возвращаемой ссылки (по формул», _ Default:=Selection.Address, формулы, по которым: данные двух месяцев, условие задачи скопируется. У вас получился отображения формул –Я думаю, чтоприменено правило Условного форматированияв поле Имя введите:в поле Диапазон введите зависимости от количества адрес ячейки, в посчитать сумму значений$В$3:$С$9 умолчанию =1). Type:=8) If pasteRange.Cells.Count они посчитаны:При большом количестве
иначе не видночтобы при копировании формулыДанный урок может показаться такой же лист, CTRL+`(Ё). Обратите внимание, у меня вопрос с формулой: Продажи_за_месяц; формулу =СМЕЩ(лист1!$B$5;;;1;СЧЁТЗ(лист1!$B$5:$I$5)) значений в определенном которой написано это
только за последние.Чтобы было понятнее, потренируемся <> copyRange.Cells.Count ThenСкопируйте наш диапазон D2:D8
- ячеек этот вариант, работу формул из ячейки А1, сложным для понимания, но уже с как ведут себя по этой же=СТОЛБЕЦ(B6)=СТОЛБЕЦ(Продажи_за_месяц)в поле Диапазон введитенажмите ОК. диапазоне. число. Это дает три дня.Пусть имеется диапазон с с функцией СМЕЩ(),
- MsgBox «Диапазоны копирования и вставьте его понятное дело, отпадает200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$F:$Q;8*СТРОКА(A1)+1;СЧЁТ($A5:D5)) допустим в ячейку но на практике
- названием «Лист1(2)». ссылки на ячейки теме. Вопрос:Условное форматирование автоматически выделяет формулу =СМЕЩ(лист1!$A$6;;ПОИСКПОЗ(лист1!$C$1;лист1!$B$5:$I$5;0);12)
Теперь подробнее.Динамические диапазоны используются для возможность, выбирать, считатьВ ячейке Е5 числами ( используя файл примера. и вставки разного в стандартный — слишком трудоемко.miha_ G, данные отображались достаточно прост. НужноНа копии «Лист1(2)» в при перемещении иЕсли при постановке серым цветом продажинажмите ОК.Любой диапазон в создания таких структур, разные диапазоны, меняя пишем такую формулу.А2:А10Дана исходная таблица с размера!», vbExclamation, «Ошибка
БлокнотЧтобы формулы при копировании: с листа2 из только помнить об ячейку D2 скопируйте
копировании. ссылки в ячейку текущего месяца, выбранногоТеперь подробнее. EXCEL задается координатами как: Выпадающий (раскрывающийся) число в ячейке. =СУММ(СМЕЩ(A2;СЧЁТЗ(A2:A20)-3;0;3;1))) Необходимо найти сумму
тремя столбцами. копирования» Exit Sub: не менялись, надоAlexM столбца В особенностях поведения формул значение из B2,При перемещении (те, что D2 (в любой с помощью Выпадающего
Функция ПОИСКПОЗ() ищет в верхней левой и список, Вложенный связанный Например, в ячейкахПояснение формулы: первых 2-х, 3-х,Задавая параметры функции СМЕЩ()
exceltable.com
смещение столбца по заданному интервалу (Формулы/Formulas)
End If IfТеперь выделите все вставленное (временно) сделать так,, Добрый,вечер.Ваша изящность вЯ понял, что при их копировании. а в ячейку в столбце E) из листов «Иванов; списка. строке 5 (перечень нижней правой ячейки список и Связанный столбца F мыВ формуле функции …9 значений. Конечно, подсчитаем сумму значений
pasteRange Is Nothing (Ctrl+A), скопируйте в чтобы Excel перестал
форме написания меня
формула должна бытьmiha_ E2 переместите (как ссылки не изменяются. Петров; Сидоров»)у меняПримеры использования динамического диапазона,
месяцев) выбранный пользователем диапазона. Исходной ячейкой, список. написали числа смещения. «СУММ» мы указали можно написать несколько в различных диапазонах
Then Exit Sub
буфер еще раз их рассматривать как
всегда поражает. Спасибо. единая и протягиваемая.: Друзья добрый день.
на предыдущем задании). А при копировании отображается значение соответствующее например, можно посмотреть месяц (ячейка от которой отсчитываетсяИмеется таблица продаж по Вставили в формулу не конкретные адреса формул =СУММ(А2:А3), =СУММ(А2:А4) и т.д. Но, таблицы. Для визуального Else pasteRange.Formula = (Ctrl+C) и вставьте
формулы. Это можно
Скажите пожалуйста, аPerfect2You Немного запутался сТеперь скопируйте столбцы D:E (те, что в ссылке на листе в статьях ДинамическиеС1 положение нашего динамического месяцам некоторых товаров адреса этих ячеек, ячеек для сложения
записав формулу ввиде: наблюдения диапазона, возвращаемого
copyRange.Formula End If на лист в сделать, заменив на
без объединения ячеек: AlexM! формулой смещ и
из «Лист1(2)» и столбце D), они «2014», то какую
диаграммы. Часть5: графикс выпадающим списком) диапазона, является ячейка (см. Файл примера):
вместо конкретных чисел. (А5, А6, А7),=СУММ(СМЕЩ(A2;;;4)) функцией СМЕЩ(), использовано End Sub
нужное вам место: время копирования знак можно?В постановке задачи индекс. Необходима, ваша вставьте их в
смещаются автоматически. употребить формулу в с Прокруткой и и возвращает соответствующийB5
Необходимо найти сумму продаж Получилось так. а вложили функциюполучим универсальное решение, в
Условное форматирование. ДляДля запуска макроса можно
Осталось только отжать кнопку «равно» (=) наAlexM
не было таких помощь. Нужно скорректировать столбцы D:E из ячейках D2, D3, Масштабированием и Динамические номер позиции в. Если не заданы товаров в определенномЕсли в этой
«СМЕЩ», указав от котором требуется изменять удобства изменения параметров воспользоваться кнопкойПоказать формулы (Show Formulas) любой другой символ,: Нужно. ограничений.
формулу, для смещения «Лист1».При копировании адреса относительных D4 (на листах диаграммы. Часть4: Выборка диапазоне поиска (названия
аргументы функции СМЕЩ() месяце. Пользователь должен формуле вместо функции
какой ячейки и только последний аргумент
функции СМЕЩ() использованыМакросы, чтобы вернуть Excel не встречающийся обычноЦитата
excelworld.ru
Копирование формул без сдвига ссылок
Проблема
Ваших заслуг не столбца с заданнымКак видите обе ячейки ссылок приспосабливаются к «Иванов; Петров; Сидоров»), данных из определенного месяцев должны бытьсмещ_по_строкам,смещ_по_столбцам иметь возможность выбрать «СУММ» (см. первый
что считать. (если в формуле Элементы управления Счетчик.на вкладке в обычный режим. в формулах, напримерAlexM, 03.03.2017 в умаляю! Вы признанный интервалом. Пример во D2 и E2 новому положению. Если
чтобы при протягивании диапазона. уникальны, т.е. этот(как в нашем нужный ему месяц пример), напишем другую
Способ 1. Абсолютные ссылки
СМЕЩ(А2 – считать выше вместо 4Для подсчета суммы значенийРазработчик (Developer — Macros)Примечание: этот способ иногда на «решетку» (#) 21:53, в сообщении виртуоз! вложении.Главное формула, должна были одинаково и ссылка была на ячейки D2 внизEldar4ik пример не годится случае), то эта и получить итоговую функцию, например, «СРЗНАЧ», от этой ячейки.
ввести 5, то в столбце Продажа1или сочетанием клавиш дает сбой на
Способ 2. Временная деактивация формул
или на пару № 10 ()Себя тоже хотелось быть не сложной, одновременно скопированы, но одну ячейку влево, (по столбцу) отображались: Добрый день! для нескольких лет). ячейка является левой сумму продаж. Выбор то формула посчитаетСЧЁТЗ(А2:А20)-3 – считать будет подсчитана сумма запишем формулу:Alt+F8
- сложных таблицах с амперсандов (&&). Для 200?’200px’:»+(this.scrollHeight+5)+’px’);»>Объединение ячеек убрал.
- бы таким считать, т.к. будет задействован ссылки в их то она так значения соответствующие листуВопрос следующего характера. На это число верхней ячейкой диапазона.
- месяца пользователь должен среднее значение в только заполненные ячейки, первых 5-и значений).=СУММ(СМЕЩ($B$2;0;0;8;1)). После запуска макрос объединенными ячейками, но этого:Предположим, что у нас
- но притормаживаю еще. большой массив данных формулах уже ведут
- и продолжает ссылаться, «2014» этих параметров.Есть два диапазона столбцов смещается левый Нижняя правая ячейка осуществлять с помощью трех последних ячейках.
Способ 3. Копирование через Блокнот
не зависимо от Вышеуказанная формула эквивалентна
диапазон суммирования - попросит вас выделить в подавляющем большинствеВыделяем диапазон с формулами есть вот такаяЕще полгода назад и не хочется себя по-разному. При но адрес естественно И тоже самое данных на листах верхний угол нашего диапазона определяется аргументами
Выпадающего списка.Третий пример. того, смежные они формуле =СУММ(A2:ИНДЕКС(A2:A10;4)), которая,$B$2:$B$9
диапазон с исходными случаев — работает (в нашем примере несложная таблица, в считал… До выхода чтобы это всё
копировании формул E2 меняется. Поэтому формула: при протягивании ячейки «Лист1 и Лист2″(прощенный
динамического диапазона (отвысота ширинаДля решения задачи намВместо цифр в или нет. А2:А20 в свою очередь,(левый верхний угол
Способ 4. Макрос
формулами и диапазон отлично. D2:D8) которой подсчитываются суммы в интернет и висело. Спасибо.Всем хорошего значение не меняется. =A2*1,23 стала формулой D2 вправо? вариант). Так как ячейки. В нашем случае потребуется сформировать два формуле функции «СМЕЩ», – это диапазон эквивалентна формуле =СУММ(A2:A5) - вставки и произведет
Если подобное копирование формулЖмем по каждому месяцу на форумы. настроения и добра. Все из-за того, =C2*1,23. Когда мыФайл во вложении. делать линк междуА6 значение высоты =1, динамических диапазона: один указывающих количество строк всего столбца. ЭтаФормула ИНДЕКС(A2:A10;4) возвращает ссылку$B$2 точное копирование формул без сдвига ссылокCtrl+H в двух городах,AlexMkrosav4ig что значения E2 ту же самуюЗаранее спасибо! листами через равно), высота диапазона не а значение ширины для Выпадающего списка, и столбцов, можно функция будет определять на ячейку, высота 8, смещения автоматически: вам приходится делать
на клавиатуре или а затем итог: Фраза выделенная жирным: Здравствуйте. Вдруг правильно из «Лист1(2)» получены формулу не скопируем,Правилами форума запрещено «=» долго, то меняется и всегда диапазона равно результату содержащего месяцы; другой написать имя диапазона. в этом диапазонеА5
planetaexcel.ru
верхнего угла нет).
При работе с формулой ВПР в Excel может сложиться ситуация, когда получить данные нужно не из столбца справа от ключевого столбца, а слева. ВПР так делать не умеет, в таких случаях к нам приходит на помощь сцепка из двух функций СМЕЩ и ПОИСКПОЗ, которые мы сегодня и изучим.
Рассмотрим такой учебный пример. У нас есть база данных с фамилиями, именами, отчествами сотрудников компании, а также годами их рождения. Нам необходимо по части сотрудников сделать сводку, где указать их фамилии и года рождения. Структурно лист с базой данных выглядит вот так:
Как вы видите, мы могли бы по фамилии вытащить год рождения при помощи функции ВПР, но год рождения стоит слева от столбца Фамилия, конечно можно поменять их местами, но в реальной жизни такое решение не всегда возможно, потому будет решать такую задачу. (Кстати, если вы еще не знакомы с функцией ВПР или неуверенно ею пользуетесь, ознакомьтесь со статьей на нашем сайте: «Функция ВПР в Excel»). Для ее решение нам будут нужны функции СМЕЩ и ПОИСКПОЗ. Разберем их синтаксис:
СМЕЩ(ссылка;смещение по строкам;смещение по столбцам)
Ссылка — ячейка, от которой рассчитывается смещение по строкам и столбцам.
Смещение по строкам — указываем число, на какое количество строк надо сдвинуться. Положительное число — количество строк вниз, отрицательное число — количество строк вверх.
Смещение по столбцам — указываем число, на какое количество столбцов надо сдвинуться. Положительное число — количество столбцов вправо, отрицательное число — количество столбцов влево.
К примеру для таблицы в скриншоте сверху функция СМЕЩ(C3;-1;1) вернет значение Петрович. Почему именно так? В качестве стартовой ячейки мы указали ячейку С3 (в ней содержится имя Иван). Относительно этой ячейки мы сдвигаемся на одну строку вверх (второй параметр -1) и на один столбец вправо (третий параметр 1).
ПОИСКПОЗ(искомое значение; просматриваемый массив; тип сопоставления)
Искомое значение — это то значение, что мы ищем в таблице
Просматриваемый массив — таблица, где мы ищем искомое значение
Тип сопоставления — как будет искать Excel это значение. Используйте значение 0 для поиска точного результата.
К примеру для таблицы в скринщоте выше функция ПОИСКПОЗ(«Петров»;B2:B6;0) вернет значение 3. Мы ищем фамилию Петров в перечне фамилий. Она там третья по списку, поэтому формула вернула число 3.
Теперь давайте объединим наши знания и решим задачу по альтернативному ВПР в Экселе.
Итак, для нашего примера формула будет следующая:
=СМЕЩ(БД!$B$1;ПОИСКПОЗ(B2;БД!$B$1:$B$6;0)-1;-1)
Сначала мы используем формулу СМЕЩ, так как мы будет считать смещение относительно конкретной ячейки. Первый параметр — ссылка на заголовок столбца «Фамилия» на листе с базой данных, далее нам нужно узнать на сколько строк нам надо сдвинуться, для этого мы используем функцию ПОИСКПОЗ. В ней в качестве первого параметра указываем фамилию, которую ищем, вторым параметром наш столбец с фамилиями в листе с базой данных. Из полученного значения мы вычитаем 1, что бы убрать эффект заголовка столбца. Последний параметр — смещение на один столбец влево, т.е. -1.
Таким образом, используя нехитрую комбинацию из двух функций мы получили универсальный аналог ВПР, который может возвращать значения, как со столбцов справа, так и слева.
Надеюсь, статья была для вас полезной. Спасибо за внимание.
Функция СМЕЩ в Excel — хороший помощник. Для чего мы можем ее использовать? По большому счету, функция нужна для того, чтобы выбрать значение в ячейке, отстоящей на N столбцов и на M строк от уже заданной ячейки. И, если это необходимо, выделить указанный диапазон для последующих вычислений. Но ценность этих функций не так велика без комбинации с функцией, например, СЧЕТЗ. Это позволит автоматически расширять диапазон автосуммы или, к примеру, рассчитывать среднее значение за последние семь дней (при добавлении новых значений).
В общем функция сильная и интересная, особенно для определения смещения ячеек в формулах.
Содержание
- Как работает функция СМЕЩ в Excel?
- Как автоматически расширить диапазон суммирования при добавлении строки в формуле со СМЕЩ в Excel?
- Похожие статьи
Как работает функция СМЕЩ в Excel?
Сначала начнем как всегда с официального объяснения и состава функции. Как говорит нам официальный сайт Microsoft:
Эта функция возвращает ссылку на диапазон ячеек, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов. Возвращаемая ссылка может быть отдельной ячейкой или диапазоном ячеек. Можно задавать количество возвращаемых строк и столбцов диапазона
Немного сложновато? Согласен, сейчас разберемся.
Синтаксис:
=СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина])
- Ссылка. Ссылка на ячейку, от которой мы начинаем отсчет (ячейка C2 в примере). Обязательный аргумент.
- Смещ_по_строкам. Чтобы найти ячейку D3, нам нужно отступить от ячейки C2 вниз на одну строку. Обязательный аргумент.
- Смещ_по_столбцам. Чтобы найти ячейку D3, нам нужно отступить от ячейки C2 вправо на один столбец. Обязательный аргумент.
- Высота. Если необходимо указать диапазон ячеек, то указываем высоту диапазона, т.е. выше ячейки D3 Необязательный аргумент.
- Ширина. Если необходимо указать диапазон ячеек, то указываем ширину диапазона, т.е. левее ячейки D3. Необязательный аргумент
Если вы указали необязательные аргументы Высота и Ширина, то функция возвратит ошибку, такую функцию можно использовать только в дальнейших вычислениях.
Если обязательные аргументы не указанны, они считаются за ноль
Теперь самое интересное:
Как автоматически расширить диапазон суммирования при добавлении строки в формуле со СМЕЩ в Excel?
Часто мы делаем Автосумму, формируется диапазон суммирования.
Если мы добавим еще строку с новым месяцем, то сумму придется растягивать или заново формировать. Как сделать, чтобы диапазон расширялся автоматически?
Запишем формулу, состоящую из функций СМЕЩ и СЧЁТЗ.
=СУММ(СМЕЩ(B2;СЧЁТЗ(A:A);))
Т,е. отсчитываем от ячейки B2 вниз количество строк равное количеству значений в столбец А.
Как автоматом посчитать первые 4 значения этого диапазона при добавлении строки?
В ячейку B12 введите формулу =СУММ(СМЕЩ(B2;;;3)), диапазон отсчитывается от ячейки B2 вниз на 3 строки
0 / 0 / 0 Регистрация: 09.01.2013 Сообщений: 13 |
|
1 |
|
09.01.2013, 18:33. Показов 17988. Ответов 12
Добрый день. Делаю очень большой древовидный список в Excel. Часто приходится перетаскивать ячейку на 1 вправо. A1 -> A2, B3->B4 и т.д. Можно ли как-то делать это действие горячими клавишами? Наверное требуется макрос. Если кто подскажет такой — буду очень благодарен. Спасибо.
0 |
5468 / 1148 / 50 Регистрация: 15.09.2012 Сообщений: 3,514 |
|
09.01.2013, 19:18 |
2 |
lehachgtop, выложите книгу Excel с примерными данными и поясните, что нужно сделать.
0 |
0 / 0 / 0 Регистрация: 09.01.2013 Сообщений: 13 |
|
09.01.2013, 19:58 [ТС] |
3 |
перетаскивать ячейку на 1 вправо. A1 -> A2, B3->B4 Ошибся. A1 -> B2, B3 -> C3 и т.д. Сделал примерную книгу. Если бы можно было одной клавишей (или простой комбинацией клавиш) перемещать содержимое ячейки в ячейку соседнего столбца справа — это в разы бы ускорило работу.
0 |
Скрипт 5468 / 1148 / 50 Регистрация: 15.09.2012 Сообщений: 3,514 |
||||
09.01.2013, 20:07 |
4 |
|||
lehachgtop, вот по такому принципу можно перемещать данные из активной ячейки в ячейку, находящуюся справа:
А как вызывать этот макрос — вам решать. Можно сочетание клавиш сделать. Ещё у листа есть события, например, при двойном клике по ячейке можно вызывать макрос.
1 |
0 / 0 / 0 Регистрация: 09.01.2013 Сообщений: 13 |
|
09.01.2013, 21:02 [ТС] |
5 |
А можно с помощью макроса сделать выделение ячеек (фон)? Например я выделил 6 ячеек, жму клавиши, и макрос выделяет заданным цветом фон.
0 |
Igor_Tr 4377 / 661 / 36 Регистрация: 17.01.2010 Сообщений: 2,134 |
||||
09.01.2013, 21:22 |
6 |
|||
Можно, конечно! Но зачем с помощью макроса, и жать клавиши?
Осталось Вам только продумать, как программа, по каким критериям, будет определять ячейки под заливку.
0 |
0 / 0 / 0 Регистрация: 09.01.2013 Сообщений: 13 |
|
09.01.2013, 22:06 [ТС] |
7 |
как программа, по каким критериям, будет определять ячейки под заливку. Но это должен определять я вручную. Быстрее всего — с горячими клавишами.
0 |
Igor_Tr 4377 / 661 / 36 Регистрация: 17.01.2010 Сообщений: 2,134 |
||||
10.01.2013, 00:17 |
8 |
|||
Хорошо, давайте по другому. Чем Вы будете руководствоваться при выделении вручную? Наличием текста?, символов?, цифр?, комбинациями? Вот это и научите железяку. Она послушная. Например, если у Вас в ячейке встречаеться число 2 — закрасить! немедленно!
А вобще есть еще много способов сделать это-же. Добавлено через 16 минут
0 |
0 / 0 / 0 Регистрация: 09.01.2013 Сообщений: 13 |
|
10.01.2013, 08:54 [ТС] |
9 |
Чем Вы будете руководствоваться при выделении вручную? Наличием текста?, символов?, цифр?, комбинациями? Вот это и научите железяку. Мне придется выделять исключительно вручную. Надо выделять похожие по смыслу, но разные по написанию слова: велик, байк и велосипед. Как-то автоматизировать это невозможно. Поэтому я по-прежнему хочу выделять нажатием клавиши (комбинацией клавиш). Наверное для этого нужен макрос. Прошу помочь.
0 |
Скрипт 5468 / 1148 / 50 Регистрация: 15.09.2012 Сообщений: 3,514 |
||||
10.01.2013, 09:15 |
10 |
|||
Код, который делают заливку у выделенных ячеек: Кликните здесь для просмотра всего текста
0 |
Igor_Tr 4377 / 661 / 36 Регистрация: 17.01.2010 Сообщений: 2,134 |
||||||||
10.01.2013, 14:43 |
11 |
|||||||
Мне кажется, что можно. Велик, байк и велосипед — а что у них общего? Все это средства передвижения, которые можно обьеденить в группу, например RemedForMovement. Создайте массив — и вперед. Главное — экспериментируйте, иначе Вам и святой Франциск не поможет. Но если Вам нравится в ручную — тоже не плохо. Ручная работа ценится во всем мире. Добавлено через 2 часа 12 минут
Из этого макроса запускаем заливку (а стоило это трудов? Не проще было выделить и выбрать цвет на панели?)
К кнопке еще можно добавить розочки, бантики… и все это группировать. По вкусу
1 |
0 / 0 / 0 Регистрация: 05.11.2015 Сообщений: 11 |
|
17.07.2013, 16:18 |
12 |
Ребят подскажите пожалуйста, а как написать перенос каждой второй строки столбца А в столбец Б??чтобы можно было сделать это действие по 100 позициям
0 |
Igor_Tr 4377 / 661 / 36 Регистрация: 17.01.2010 Сообщений: 2,134 |
||||
17.07.2013, 16:36 |
13 |
|||
Как-будто кол-во позиций не имеет очень значение. Больше значит, в каком виде они должны быть в столбце В. С пропусками, или все нужные подряд? Добавлено через 12 минут
3 |
Содержание
- СМЕЩ (функция СМЕЩ)
- Описание
- Синтаксис
- Примечания
- Пример
- Суммирование по «окну» на листе функцией СМЕЩ (OFFSET)
- Функция OFFSET (СМЕЩ) в Excel. Как использовать?
- Что возвращает функция
- Синтаксис
- Аргументы функции
- Основной принцип работы функции
- Примеры использования функции СМЕЩ в Excel
- Пример 1. Ищем последнюю заполненную ячейку в колонке
- Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных
- Дополнительная информация
- Альтернативы функции OFFSET (СМЕЩ) в Excel
- Функция СМЕЩ в Excel, которая может заменить СУММ и сэкономить время
- СМЕЩ и ее синтаксис
- Пример функции СМЕЩ
СМЕЩ (функция СМЕЩ)
В этой статье описаны синтаксис формулы и использование функции СМЕЩ в Microsoft Excel.
Описание
Данная функция возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов. Возвращаемая ссылка может быть отдельной ячейкой или диапазоном ячеек. Можно задавать количество возвращаемых строк и столбцов.
Синтаксис
Аргументы функции СМЕЩ описаны ниже.
Ссылка — обязательный аргумент. Ссылка, от которой вычисляется смещение. Аргумент «ссылка» должен быть ссылкой на ячейку или на диапазон смежных ячеек, в противном случае функция СМЕЩ возвращает значение ошибки #ЗНАЧ!.
Смещ_по_строкам Обязательный. Количество строк, которые требуется отсчитать вверх или вниз, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку. Например, если в качестве значения аргумента «смещ_по_строкам» задано число 5, это означает, что левая верхняя ячейка возвращаемой ссылки должна быть на пять строк ниже, чем указано в аргументе «ссылка». Значение аргумента «смещ_по_строкам» может быть как положительным (для ячеек ниже начальной ссылки), так и отрицательным (выше начальной ссылки).
Смещ_по_столбцам Обязательный. Количество столбцов, которые требуется отсчитать влево или вправо, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку. Например, если в качестве значения аргумента «смещ_по_столбцам» задано число 5, это означает, что левая верхняя ячейка возвращаемой ссылки должна быть на пять столбцов правее, чем указано в аргументе «ссылка». Значение «смещ_по_столбцам» может быть как положительным (для ячеек справа от начальной ссылки), так и отрицательным (слева от начальной ссылки).
Высота Необязательный. Высота (число строк) возвращаемой ссылки. Значение аргумента «высота» должно быть положительным числом.
Ширина Необязательный. Ширина (число столбцов) возвращаемой ссылки. Значение аргумента «ширина» должно быть положительным числом.
Примечания
Если аргументы «смещ_по_строкам» и «смещ_по_столбцам» выводят ссылку за границы рабочего листа, функция СМЕЩ возвращает значение ошибки #ССЫЛ!.
Если высота или ширина опущена, то предполагается, что используется та же высота или ширина, что и в аргументе «ссылка».
Функция СМЕЩ фактически не передвигает никаких ячеек и не меняет выделения; она только возвращает ссылку. Функция СМЕЩ может использоваться с любой функцией, в которой ожидается аргумент типа «ссылка». Например, с помощью формулы СУММ(СМЕЩ(C2;1;2;3;1)) вычисляется суммарное значение диапазона, состоящего из трех строк и одного столбца и расположенного одной строкой ниже и двумя столбцами правее ячейки C2.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник
Суммирование по «окну» на листе функцией СМЕЩ (OFFSET)
Бывают ситуации, когда заранее не известно какие именно ячейки на листе нужно подсчитывать. Например, представим, что нам нужно реализовать в Excel небольшой транспортный калькулятор для расчета расстояния проезда от одной заданной станции до другой:
В выпадающих списках в желтых ячейках F3 и F5 пользователь выбирает станции отправления и назначения, а в зеленой ячейке F7 должна подсчитываться сумма всех ячеек в заданном «окне» на листе. Для проезда от Останкино до Ховрино, как на рисунке, например, нужно будет просуммировать все ячейки в обведенном зеленым пунктиром диапазоне.
Как считать суммму — понятно, а вот как определить диапазон ячеек, которые нужно просуммировать? Ведь при выборе станций он будет постоянно трансформироваться?
В подобной ситуации может помочь функция СМЕЩ (OFFSET) , способная выдать ссылку на «плавающее окно» — диапазон заданного размера, расположенный в определенном месте листа. Синтаксис у функции следующий:
=СМЕЩ( Точка_отсчета ; Сдвиг_вниз ; Свиг_вправо ; Высота ; Ширина )
Эта функция на выходе дает ссылку на диапазон, сдвинутый относительно некоей стартовой ячейки (Точка_отсчета) на определенное количество строк вниз и столбцов вправо. Причем размер диапазона («окна») тоже может задаваться параметрами Высота и Ширина.
В нашем случае, если взять за точку отсчета ячейку А1, то:
- Точка отсчета = А1
- Сдвиг_вниз = 4
- Свиг_вправо = 2
- Высота = 4
- Ширина = 1
Чтобы рассчитать необходимые для СМЕЩ аргументы, давайте сначала применим функцию ПОИСКПОЗ (MATCH) , которую мы уже разбирали, для вычисления позиций станций отправления и назначения:
И, наконец, используем функцию СМЕЩ, чтобы получить ссылку на нужное «окно» на листе и просуммировать все ячейки из него:
Вот и все, задача решена 🙂
В отличие от большинства остальных функций Excel, СМЕЩ является волатильной (volatile) или, как еще говорят, «летучей» функцией. Обычные функции пересчитываются только в том случае, если меняются ячейки с их аргументами. Волатильные же пересчитываются каждый раз при изменении любой ячейки. Само-собой, это отрицательно сказывается на быстродействии. В больших тяжелых таблицах разница по скорости работы книги может быть очень ощутимой (в разы). Для некоторых случаев быстрее оказывается заменить медленную СМЕЩ на неволатильную ИНДЕКС или другие аналоги.
Источник
Функция OFFSET (СМЕЩ) в Excel. Как использовать?
Функция СМЕЩ в Excel используется, когда вы хотите получить ссылку, которая смещается на указанное число строк и столбцов от начального положения.
Что возвращает функция
Возвращает ссылку, которая смещается на заданное количество ячеек.
Синтаксис
=OFFSET(reference, rows, cols, [height], [width]) — английская версия
=СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина]) — русская версия
Аргументы функции
- reference (ссылка) — ссылка на ячейку, от которой вы хотите сделать смещение. Это может быть ссылка на ячейку или диапазон смежных ячеек;
- rows (смещ_по_строкам) — количество строк для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение строк ниже, если отрицательное — выше;
- cols (смещ_по_столбцам) — количество колонок для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение колонок вправо, если отрицательное число, то влево;
- [height] ([высота]) — количество строк в указанном диапазоне функции;
- [width] ([ширина]) — количество колонок в указанном диапазоне функции.
Основной принцип работы функции
Функция СМЕЩ , пожалуй, самая запутанная функция в Excel.
Давайте разберем ее работу на простом примере игры в шахматы. В шахматах есть фигура Ладья.
Источник фото: Wikipedia
По правилам игры в шахматы, Ладья может ходить только вправо, влево, вниз и вверх. Фигура не может передвигаться по диагонали.
Теперь давайте представим, что нашей Ладье нужно переместиться не строго влево или вправо, а на ячейку, находящуюся по диагонали от изначальной позиции. Что мы будем делать этом случае?
Правильно, мы будем использовать несколько шагов, для того чтобы привести Ладью к цели. Тот же принцип действует и в функции OFFSET (СМЕЩ) .
Рассмотрим перемещение Ладьи на примере в Excel. Мы хотим начать с ячейки D5 (где находится ладья), а затем перейти на две строки вниз и два столбца вправо и извлечь значение из ячейки. Для этого будем использовать формулу:
=OFFSET(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — английская версия
=СМЕЩ(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — русская версия
Как вы видите формула по нашему примеру выглядит так:
=OFFSET(D5,2,2) — английская версия
=СМЕЩ(D5;2;2) — русская версия
Функции задан аргумент старта отсчета с ячейки «D5», затем смещение на две строки вниз, после этого на две колонки вправо. Так мы переместимся с ячейки «D5» на ячейку «F7». По завершении перемещения функция выдает значение ячейки «F7».
На примере выше мы рассмотрели функцию OFFSET (СМЕЩ) с тремя аргументами. Но есть еще два необязательных аргумента, которые можно использовать.
Давайте рассмотрим простой пример:
Предположим, вы хотите использовать ссылку на ячейку «A1» (желтую), и хотите сослаться на весь диапазон, выделенный синим (C2:E4) в формуле.
Как бы вы это сделали с помощью клавиатуры? Сначала нужно перейти к ячейке C2, а затем выбрать все ячейки в диапазоне «C2:E4».
Теперь посмотрим, как это сделать, используя формулу OFFSET (СМЕЩ) :
=OFFSET(A1,1,2,3,3) — английская версия
=СМЕЩ(A1;1;2;3;3) — русская версия
Если вы используете эту формулу в ячейке, она вернет #VALUE! Но если вы перейдете в режим редактирования, выберете формулу и нажмите клавишу «F9», вы увидите, что она возвращает все значения, выделенные синим цветом.
Надеюсь, теперь у вас есть базовое понимание использования функции OFFSET (СМЕЩ) в Excel.
Примеры использования функции СМЕЩ в Excel
Пример 1. Ищем последнюю заполненную ячейку в колонке
Представим, что у вас есть данные в колонке. Для того чтобы отобразить последнее значение в колонке используйте формулу:
=OFFSET(A1,COUNT(A:A)-1,0) — английская версия
=СМЕЩ(A1;СЧЁТ(A:A)-1;0) — русская версия
Эта формула предполагает, что кроме указанных значений нет никаких других, и в этой колонке нет пустых ячеек. Функция работает, подсчитывая общее количество заполненных ячеек и соответствующим образом смещает ячейку «A1».
Например, в указанном примере есть 8 значений, поэтому функция COUNT(A:A) или СЧЁТ(A:A) возвращает 8. Мы смещаем ячейку «A1» на 7, чтобы получить последнее значение.
Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных
Вы можете использовать принцип из Примера 1 для создания динамического выпадающего списка с автоматическим дополнением новых данных. Например, вы создали выпадающий список и хотите, чтобы при добавлении новых строк, значения автоматически подгружались в выпадающий список.
Обратите внимание, что на примере выше, значения автоматически появляются и исчезают из выпадающего списка, как только вы вносите изменения в диапазон ячеек, указанный для выпадающего списка.
Это происходит, поскольку формула, которая используется для создания раскрывающегося списка, является динамической и определяет любое добавление или удаление и соответствующим образом корректирует диапазон.
Как сделать такой список:
- Выберите ячейку, в которой вы хотите создать выпадающий список;
- Нажмите на вкладку Data => Data Tools => Data Validation;
- В диалоговом окне Data Validation, в разделе Настройки выберите List из выпадающего списка;
- В параметрах Source укажите формулу =OFFSET(A1,0,0,COUNT(A:A),1) или =СМЕЩ(A1;0;0;СЧЁТ(A:A);1)
- Нажмите ОК
Как эта формула работает:
Первые три аргумента функции OFFSET (СМЕЩ) A1, 0, 0. Это означает что начальное значение в ячейке «A1», которое не смещается ни по строкам и по колонкам (0, 0);
Четвертый аргумент функции указывает на высоту, и здесь функция COUNT (СЧЁТ) возвращает суммарное количество ячеек в диапазоне данных для выпадающего списка. Главное условие — отсутствие пустых ячеек в диапазоне.
Пятый аргумент функции “1”, обозначает ширину диапазона данных, которая в нашем случае равна одной колонке.
Дополнительная информация
- Функция OFFSET (СМЕЩ) — волатильная функция. Она пересчитывается каждый раз, как только вы открываете Excel файл. Работа этой функции может сильно сказываться на скорости работы всего файла.
- Если значения высоты и ширины не указаны, функция учитывает только первые три аргумента;
- Если значения аргументов rows (смещ_по_строкам) и cols (смещ_по_столбцам) отрицательны, то смещение будет происходить в обратную сторону.
Альтернативы функции OFFSET (СМЕЩ) в Excel
Ввиду некоторых ограничений функции, многие из вас рассматривают альтернативные методы:
- Функция INDEX (ИНДЕКС) также может использоваться для возврата ссылки на ячейку.
- Excel таблицы: если вы используете структурированные ссылки в таблице Excel, вам не нужно беспокоиться о добавлении новых данных и необходимости корректировки формул.
Источник
Функция СМЕЩ в Excel, которая может заменить СУММ и сэкономить время
Программу Excel любят за возможность быстро и автоматически считать сложные формулы. Достаточно освоить элементарные команды, чтобы экономить значительное количество времени.
Функция СМЕЩ относится к более сложным массивам, поэтому используется редко. Но она может оказаться очень полезной при подсчете суммы, когда есть необходимость добавлять новые строки.
СМЕЩ и ее синтаксис
Эта функция позволяет возвращать ссылку на диапазон, который смещен относительно исходной ссылки на определенное число столбцов и строк. Определение команды звучит не совсем понятно для среднестатистического пользователя. Синтаксис параметров:
- Ссылка: это отправная ячейка. Относительно нее и происходит смещение.
- Смещение по строкам: количество строк, на которые нужно спуститься или подняться от отправной ячейки. Если идем вниз – значение будет положительным (от 1 и далее); если вверх – отрицательным (от -1 и далее).
- Смещение по столбцам: количество столбцов, на которые нужно уйти вправо или влево от отправной точки. Если вправо – положительное значение; влево – отрицательное.
- Высота и ширина: параметры диапазона, который будет возвращен функцией СМЕЩ. Если нам нужна одна ячейка, мы ставим цифры 1 и 1. Если нужна таблица, задаем иные значения, например 3 и 4, 6 и 8 и т.д.
У команды СМЕЩ есть несколько функций, но сегодня мы разберем самую распространенную и востребованную – автоматическое суммирование новых значений из вновь добавляемых строк.
Пример функции СМЕЩ
Тем, кто знакомится с функцией СМЕЩ, поначалу кажется, что ее вполне можно заменить привычной нам функцией СУММ. Но в некоторых случаях СУММ просто не работает. Разберем это на конкретном примере.
На предприятии создается база данных по ценам разных марок зубных паст, закупаемых на складе по разным оптовым ценам. Внизу указывается общая сумма, которую придется заплатить за единицу продукции. Пока нового товара на складе нет, таблица остается неизменной, и функция СУММ отлично справляется со своей задачей.
Но как только склад предлагает новую марку зубной пасты (назовем ее M), предприятию приходится добавлять дополнительные строки. Если сделать это и ввести новую цифру, то СУММ никак не отреагирует на новую строку (об этом говорит появление зеленого треугольника в верхнем левом углу ячейки и восклицательного знака рядом), потому что команда рассчитана для определенного диапазона. И мы действительно видим, что сумма осталась прежней = 554.
Важно грамотно записать формулу для команды СМЕЩ, чтобы она работала правильно. Действуем по порядку. Наша цель – сосчитать сумму, поэтому функция СУММ будет внешней.
Первым числом в СУММ будет ссылка на первоначальную ячейку, с которой пойдет подсчет. Это D5. После нее записываем команду СМЕЩ, которая будет находиться внутри СУММ.
Начинаем заполнять синтаксис функции СМЕЩ. Первое – это ссылка. Ссылаться будем на саму ячейку, в которой у нас стоит формула, т.е. на D18.
Смещение по строкам указываем в отрицательном значении -1, чтобы второй элемент диапазона суммирования всегда находился в предыдущей ячейке.
Смещение по столбцам нам не нужно, поэтому ставим либо 0, либо просто оставляем пустое место. Не забываем разделять элементы формулы точкой с запятой.
Высоту и ширину не указываем. По умолчанию она будет равна одной ячейке.
После всех действий нажимаем Enter и получаем результат. Функция СМЕЩ просуммировала не только заданный диапазон, но и добавленную строку. Попробуем добавить еще одну, чтобы проверить работу команды. Пусть это будет марка зубной пасты под названием N по цене 51 рубль.
И видим, что сумма увеличилась на 51 (получилось 650), в то время как команда СУММ осталась прежней (554).
Добавим значения стоимости для зубных паст M и N и протянем формулу на остальные ячейки, чтобы знать суммы под всеми столбцами.
СМЕЩ замечательно среагировала на введение новых строк. С таким же успехом можно добавлять значения когда угодно, сохранив таблицу.
На освоение именно этой функции, которая позволяет автоматически прибавлять новые значения к общей сумме, обычно требуется не больше часа. Зато в будущем это помогает существенно экономить время на работе. Мы рассмотрели простейший пример с небольшими числами, но многие предприятия работают с огромными массивами, и пользоваться командой СУММ и уж, тем более, калькулятором, совсем неразумно.
Источник
Функция
СМЕЩ(
)
, английский вариант OFFSET(),
возвращает ссылку на диапазон ячеек. Размер диапазона и его положение задается в параметрах этой функции.
Функция
СМЕЩ()
часто используется при создании
динамических диапазонов
. Рассмотрим ее подробнее.
Синтаксис функции СМЕЩ()
СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;высота;ширина), где
ссылка
— ссылка, от которой вычисляется смещение;
смещ_по_строкам
— количество строк, которые требуется отсчитать вверх или вниз, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку (по умолчанию =0);
смещ_по_столбцам
– аналогично
смещ_по_строкам,
только смещение отсчитывается по столбцам (по умолчанию =0);
высота
— число строк возвращаемой ссылки. Значение аргумента «высота» должно быть положительным числом;
ширина
— число столбцов возвращаемой ссылки (по умолчанию =1).
Чтобы было понятнее, потренируемся с функцией
СМЕЩ()
, используя
файл примера
.
Примеры
Дана исходная таблица с тремя столбцами.
Задавая параметры функции
СМЕЩ()
подсчитаем сумму значений в различных диапазонах таблицы. Для визуального наблюдения диапазона, возвращаемого функцией
СМЕЩ()
, использовано
Условное форматирование
. Для удобства изменения параметров функции
СМЕЩ()
использованы
Элементы управления
Счетчик
.
Для подсчета суммы значений в столбце
Продажа1
запишем формулу:
=СУММ(СМЕЩ($B$2;0;0;8;1))
диапазон суммирования —
$B$2:$B$9
(левый верхний угол —
$B$2
, высота
8
, смещения верхнего угла нет). Результат
34
.
Для подсчета суммы значений в столбце
Продажа2
запишем формулу:
=СУММ(СМЕЩ($B$2;0;
1
;8;1))
Теперь левый верхний угол диапазона суммирования смещен от
$B$2
на один столбец вправо, т.е. диапазон суммирования стал
$C$2:$C$9
. Результат
68
.
Для подсчета суммы значений в столбцах
Продажа1
и
Продажа2,
изменим ширину диапазона.
=СУММ(СМЕЩ($B$2;0;0;8;
2
))
указав ширину в 2 ячейки, результат составит
102
, диапазон будет модифицирован в
$В$2:$С$9
.
Добавив смещение по строкам (+1), получим результат
99
:
=СУММ(СМЕЩ($B$2;
1
;0;8;2))
диапазон будет модифицирован в
$В$3:$С$9
.
Функция СМЕЩ() vs ИНДЕКС()
Пусть имеется диапазон с числами (
А2:А10
) Необходимо найти сумму первых 2-х, 3-х, …9 значений. Конечно, можно написать несколько формул
=СУММ(А2:А3)
,
=СУММ(А2:А4)
и т.д. Но, записав формулу ввиде:
=СУММ(СМЕЩ(A2;;;4))
получим универсальное решение, в котором требуется изменять только последний аргумент (если в формуле выше вместо 4 ввести 5, то будет подсчитана сумма первых 5-и значений). Вышеуказанная формула эквивалентна формуле
=СУММ(A2:ИНДЕКС(A2:A10;4))
, которая, в свою очередь, эквивалентна формуле
=СУММ(A2:A5)
Формула
ИНДЕКС(A2:A10;4)
возвращает ссылку на ячейку
А5
.
Копирование и перемещение формул.
Формулы можно
копировать в другие ячейки аналогично
копированию диапазона, а также за
маркер заполнения.
При этом в зависимости от типа ссылок,
входящих в копируемую формулу,
осуществляется их настройка. В формулах
Excel
используется три типа ссылок: относительная,
абсолютная и смешанная адресация ячеек
и диапазонов
-
Относительная
адресация
(например, А3, С5, D13).
При ее использовании в формулах Excel
запоминает расположение относительно
текущей ячейки. Так, например, когда Вы
вводите формулу «=В1+В2» в ячейку
В4, то Excel
интерпретирует формулу как «прибавить
содержимое ячейки, расположенной тремя
рядами выше, к содержимому ячейки,
расположенной двумя рядами выше».
Если Вы скопируете формулу из ячейки
В4 в С4, Excel
также интерпретирует формулу как
«прибавить содержимое ячейки,
расположенной тремя рядами выше, к
содержимому ячейки, расположенной
двумя рядами выше». Таким образом,
формула в ячейке С4 примет вид «=С1+С2». -
Абсолютная
адресация
(например $B$1,
$H$44,
$K$6).
Если используется абсолютная адресация,
то при копировании формулы ссылка на
конкретную ячейку не
меняется.
Для ее задания необходимо перед именем
столбца и номером строки ввести знак
$. Можно изменить относительный адрес
на абсолютный, используя клавишу F4. -
Смешанная
адресация
(например В$5, $G13).
Знак $ ставится только там, где необходим.
Такая ссылка при копировании корректируется
частично. Корректируется только та
часть ссылки, перед которой нет знака
$.
Таким образом,
при копировании и перемещении формул,
содержащих адреса ячеек, относительные
адреса перемещаются
(изменяются)
вместе с формулой, а абсолютные
адреса остаются неизменными.
Пример.
В ячейке С1 содержится формула =А1+В1. При
копировании формулы на одну ячейку вниз
(С2) она изменится так: =А2+В2. При копировании
формулы на одну ячейку вправо (D2)
она изменится так: =В1+С1.
А если в ячейке С1
содержится формула =$A$1+$B$1,
то куда бы ее ни копировали, она остается
неизменной.
Автоматическое суммирование строк и столбцов
При работе с MS
Excel
часто приходится суммировать данные в
строках или столбцах. Для этого можно
воспользоваться кнопкой Автосумма
на
Стандартной
панели инструментов:
1 способ:
-
Выделить
ячейку, в которую будет помещена формула. -
Щелкните
на кнопке Автосумма.
После этого Excel
автоматически выделит диапазон для
суммирования. -
Если
диапазон выделен правильно, щелкните
на кнопке Автосумма
еще раз или нажмите Enter.
2 способ:
-
Выделите
диапазон, данные в котором надо
просуммировать. -
Нажмите
кнопку Автосумма.
Использование функций
Функции
призваны расширить возможности основных
арифметических и логических формул.
Каждая функция имеет следующую базовую
структуру:
Функция (аргумент1; аргумент2; …)
После имени функции
следует список аргументов (это могут
быть ссылки на ячейки таблицы, в которых
находятся числовые данные) разделенных
точкой с запятой.
Функции входят в
таблицу в составе формул или отдельно.
Например, формула =СУММ(С22:С26) использует
функцию СУММ для того, чтобы сложить
значения в диапазоне ячеек С22:С26. Эта
формула аналогична формуле
=(С22+С23+С24+С25+С26) с перечислением адресов
всех ячеек.
Названия функций
можно набирать с клавиатуры или вводить
автоматически с помощью Мастера
Функций.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #