Excel формулы сдвиг по столбцу

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

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Основной принцип работы функции
  5. Примеры использования функции СМЕЩ в Excel
  6. Пример 1. Ищем последнюю заполненную ячейку в колонке
  7. Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных
  8. Дополнительная информация
  9. Альтернативы функции OFFSET (СМЕЩ) в Excel

Что возвращает функция

Возвращает ссылку, которая смещается на заданное количество ячеек.

Синтаксис

=OFFSET(reference, rows, cols, [height], [width]) — английская версия

=СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина]) — русская версия

Аргументы функции

  • reference (ссылка) — ссылка на ячейку, от которой вы хотите сделать смещение. Это может быть ссылка на ячейку или диапазон смежных ячеек;
  • rows (смещ_по_строкам) — количество строк для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение строк ниже, если отрицательное — выше;
  • cols (смещ_по_столбцам) — количество колонок для смещения от изначальной позиции. Если вы укажете положительное число, то произойдет смещение колонок вправо, если отрицательное число, то влево;
  • [height] ([высота]) — количество строк в указанном диапазоне функции;
  • [width] ([ширина]) — количество колонок в указанном диапазоне функции.

Основной принцип работы функции

Функция СМЕЩ, пожалуй, самая запутанная функция в Excel.

Давайте разберем ее работу на простом примере игры в шахматы. В шахматах есть фигура Ладья.

Функция OFFSET (СМЕЩ) в Excel. Как использовать?
Источник фото: Wikipedia

По правилам игры в шахматы, Ладья может ходить только вправо, влево, вниз и вверх. Фигура не может передвигаться по диагонали.

Функция OFFSET (СМЕЩ) в Excel. Как использовать?

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

Функция OFFSET (СМЕЩ) в Excel. Как использовать?

Правильно, мы будем использовать несколько шагов, для того чтобы привести Ладью к цели. Тот же принцип действует и в функции OFFSET (СМЕЩ).

Рассмотрим перемещение Ладьи на примере в Excel. Мы хотим начать с ячейки D5 (где находится ладья), а затем перейти на две строки вниз и два столбца вправо и извлечь значение из ячейки. Для этого будем использовать формулу:

=OFFSET(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — английская версия

=СМЕЩ(стартовая позиция, на сколько строк сместиться вниз, на сколько столбцов сместиться вправо) — русская версия

Функция OFFSET (СМЕЩ) в Excel. Как использовать?

Как вы видите формула по нашему примеру выглядит так:

=OFFSET(D5,2,2) — английская версия

=СМЕЩ(D5;2;2) — русская версия

Функции задан аргумент старта отсчета с ячейки «D5», затем смещение на две строки вниз, после этого на две колонки вправо. Так мы переместимся с ячейки «D5» на ячейку «F7». По завершении перемещения функция выдает значение ячейки «F7».

На примере выше мы рассмотрели функцию OFFSET (СМЕЩ) с тремя аргументами. Но есть еще два необязательных аргумента, которые можно использовать.

Давайте рассмотрим простой пример:

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

OFFSET - СМЕЩ - в Excel

Предположим, вы хотите использовать ссылку на ячейку «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 (СМЕЩ) в Excel

=OFFSET(A1,COUNT(A:A)-1,0) — английская версия

=СМЕЩ(A1;СЧЁТ(A:A)-1;0) — русская версия

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

Например, в указанном примере есть 8 значений, поэтому функция COUNT(A:A) или СЧЁТ(A:A) возвращает 8. Мы смещаем ячейку «A1» на 7, чтобы получить последнее значение.

Пример 2. Создаем динамический выпадающий список с автоматическим дополнением новых данных

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

OFFSET (СМЕЩ) функция в Excel

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

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

Как сделать такой список:

  • Выберите ячейку, в которой вы хотите создать выпадающий список;
  • Нажмите на вкладку 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. В таблицу Excel на протяжении экзамена записываются оценки, которые получили уже сдавшие предмет экзамены. Реализовать алгоритм динамического расчета среднего значения балла за экзамен для группы студентов.

Вид исходной таблицы:

Пример 1.

Формула для расчета:

Функция ЕСЛИОШИБКА используется для вывода сообщения об отсутствии данных для расчета. Функция СРЗНАЧ принимает диапазон ячеек, возвращаемых функцией СМЕЩ со следующими параметрами:

  • B3 – ссылка на начальную ячейку (точку отсчета);
  • 0 – нулевое смещение по строкам;
  • 0 – нулевое смещение по столбцам;
  • СЧЁТ(B3:B14) – количество ячеек из диапазона B3:B14, которые содержат ненулевые значения, характеризующее высоту диапазона возвращаемых ячеек;
  • 1 – ширина диапазона возвращаемых значений (в 1 столбец).

Результаты расчета по мере заполнения данными:

СЧЁТ.

Примечания к примеру:

  1. Данные должны вноситься последовательно в каждую новую строку, иначе расчет выполняться не будет.
  2. Пример решения приведен в целях демонстрации использования функции СМЕЩ, решение задачи может быть реализовано более простым и надежным способом.



Динамическое обновление итоговых данных таблицы в Excel

Пример 2. В таблице Excel внесены данные о количестве продаж товаров за все время работы компании. Для еженедельного учета требуется выводить данные о продажах (общая сумма проданных товаров) за прошедшие 7 дней. Реализовать динамическое обновление данных.

Вид исходной таблицы данных:

Пример 2.

Для расчета суммы проданных единиц товаров за последние 7 дней используем формулу:

Описание аргументов функции СМЕЩ:

  • B3 – ссылка на ячейку, относительно которой выполняется отсчет;
  • СЧЁТЗ(B3:B1000)-7 – функция, подсчитывающая количество непустых ячеек в диапазоне B3:B1000 (ячейка B1000 взята условно с запасом для последующих записей). От итогового результат вычитается число 7, поскольку по условию необходимо получить данные за неделю. В целом выражение определяет начальную позицию массива возвращаемых ячеек по вертикали относительно точки отсчета B3;
  • 0 – нулевое смещение по столбцам (искомый диапазон ячеек находится в том же столбце, что и точка отсчета B3);
  • 7 – высота диапазона возвращаемых ячеек (7 ячеек);
  • 1 – ширина диапазона возвращаемых ячеек.

Полученный результат в результате расчетов:

Динамическое обновление данных.

При добавлении новых данных пересчет выполняется автоматически.

Выборка значений из таблицы с помощью функции СМЕЩ в Excel

Пример 3. В таблице содержатся данные о средних значениях курсов валют по месяцам года. Реализовать алгоритм вывода значений курсов в строку под таблицей по выбранному номеру месяца.

Исходная таблица данных имеет следующий вид:

Пример 3.

Используем элемент управления «Счетчик» для выбора номера месяца. Для этого добавим пункт ленты меню «Разработчик» нажатием правой кнопкой мыши по любому существующему ее элементу:

Разработчик.

Выберем пункт настройка ленты и в открывшемся окне установим флажок напротив пункта «Разработчик»:

установим флажок.

В ленте добавится новый пункт меню. Выберем его, найдем кнопку «Вставить» и нажмем ее:

Вставить.

Выберем элемент «Счетчик», наведем курсор (вместо стрелки форма «+») на требуемую ячейку (в данном случае A16), выделим область для счетчика. После того, как кнопка мыши будет отпущена, появится заготовка счетчика. Нажмем правой кнопкой по счетчику и выберем пункт «Формат объекта»:

Формат объекта.

Заполним текущее и минимальное значения, а также установим связь с ячейкой, в которой данный счетчик находится:

установим связь с ячейкой.

Нажмем кнопку «ОК» и выделим любую другую ячейку на листе, чтобы завершить процесс настройки счетчика. В итоге получим:

Счетчик.

Для вывода курсов доллара и евро соответственно используем функции:

=СМЕЩ(A1;A16;1)

Для вывода курсов доллара.

=СМЕЩ(A1;A16;2)

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

Для вывода курсов евро.

Особенности использования функции СМЕЩ в Excel

Функция имеет следующую синтаксическую запись:

=СМЕЩ(ссылка;смещение_по_строкам;смещение_по_столбцам;[высота];[ширина])

Описание аргументов:

  • ссылка – обязательный для заполнения аргумент, принимающий данные ссылочного типа, характеризующие ячейку или диапазон ячеек, относительно которых производится отсчет расстояния до возвращаемых ячейки или диапазона ячеек;
  • смещение_по_строкам — обязательный аргумент, который принимает данные числового типа, характеризующие расстояние между точкой отсчета (указанной аргументом ссылка) и возвращаемой ячейкой либо диапазоном ячеек. В качестве аргумента может быть передано:
  1. Положительное целое число. В этом случае смещение относительно точки отсчета выполняется вправо на указанное число ячеек.
  2. 0 – искомая ячейка или диапазон ячеек находятся в текущей строке.
  3. Отрицательное число – смещение влево на указанное число, взятое по модулю.
  4. Дробное число – функция СМЕЩ выполняет усечение дробной части, и использует полученное целое число для определения величины смещения по строкам.
  • смещение_по_столбцам – обязательный аргумент, принимающий числовые значения, указывающие на величину смещения по столбцам относительно выбранной точки отсчета. Указанные свойства аргумента смещ_по_строкам верны для смещ_по_столбцам в интерпретации по вертикали. Например:
  1. Функция =СМЕЩ(A5;0;2) вернет ссылку на ячейку C5;
  2. Функция =СМЕЩ(A5;2;0) вернет ссылку на ячейку A7;
  3. Функция СМЕЩ с аргументами (C5;0-2) вернет ссылку на ячейку A5;
  4. Функция с аргументами (D5;0;-3,8) вернет ссылку на ячейку A5.
  • [высота] – необязательный аргумент, принимающий числовое значение, характеризующее число ячеек по высоте (количество строк) возвращаемого диапазона ячеек. Принимает значения из диапазона целых положительных чисел, начиная от 1 (если принимает значение 0, функция СМЕЩ вернет код ошибки #ССЫЛКА!);
  • [ширина] – необязательный для заполнения аргумент, принимающий числовое значение, которое характеризует ширину диапазона возвращаемых ячеек. Передаваемое значение должно быть целым положительным числом от 1 до +∞.

Примечания:

  1. Если функция СМЕЩ ссылается на ячейку или диапазон ячеек, которые находятся вне пределов рабочего листа по условиям, заданным параметрами смещ_по_строкам и смещ_по_столбцам, результатом выполнения данной функции будет код ошибки #ССЫЛКА!.
  2. Если необязательные аргументы [высота] и [ширина] явно не казаны, они принимают значения, равные высоте и ширине диапазона ячеек, указанного в качестве аргумента ссылка. Если ссылка принимает одну ячейку, данные аргументы по умолчанию принимают значения 1 и 1 соответственно.
  3. Функция СМЕЩ может быть использована в качестве аргумента любой функции, принимающей данные ссылочного типа.
  4. Если аргумент ссылка принимает ссылочное значение на единственную ячейку, а необязательные параметры указывают на диапазон (заданы числами, больше 1), тогда функция вернет код ошибки #ЗНАЧ! (пример с ошибкой – результат выполнения функции с аргументами (A5;2;3;3;2)).

Функция СМЕЩ() в 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).​
Примеры функции СМЕЩ в Excel. ​ перестав считать:​
​ формулы не собьют.​ у Вас, а​ ячейку 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. ​ ячеек этот вариант,​ работу формул​ из ячейки А1,​ сложным для понимания,​ но уже с​ как ведут себя​ по этой же​=СТОЛБЕЦ(B6)=СТОЛБЕЦ(Продажи_за_месяц)​в поле Диапазон введите​нажмите ОК.​ диапазоне.​ число. Это дает​ три дня.​Пусть имеется диапазон с​ с функцией СМЕЩ(),​Копирование листа.
  2. ​ MsgBox «Диапазоны копирования​ и вставьте его​ понятное дело, отпадает​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$F:$Q;8*СТРОКА(A1)+1;СЧЁТ($A5:D5))​ допустим в ячейку​ но на практике​Копирование и перемещение формул.
  3. ​ названием «Лист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​

  1. ​ сложных таблицах с​ амперсандов (&&). Для​ 200?’200px’:»+(this.scrollHeight+5)+’px’);»>Объединение ячеек убрал.​
  2. ​ бы таким считать,​​ т.к. будет задействован​​ ссылки в их​ то она так​​ значения соответствующие листу​Вопрос следующего характера.​ На это число​ верхней ячейкой диапазона.​
    Смещение в эксель
  3. ​ месяца пользователь должен​ среднее значение в​ только заполненные ячейки,​ первых 5-и значений).​=СУММ(СМЕЩ($B$2;0;0;8;1))​. После запуска макрос​ объединенными ячейками, но​ этого:​Предположим, что у нас​
  4. ​ но притормаживаю еще.​ большой массив данных​ формулах уже ведут​
    Смещение в эксель
  5. ​ и продолжает ссылаться,​​ «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​ в двух городах,​AlexM​krosav4ig​ что значения E2​ ту же самую​Заранее спасибо!​ листами через равно​), высота диапазона не​ а значение ширины​ для Выпадающего списка,​ и столбцов, можно​ функция будет определять​ на ячейку​, высота 8, смещения​ автоматически:​ вам приходится делать​

​на клавиатуре или​ а затем итог​​: Фраза выделенная жирным​​: Здравствуйте. Вдруг правильно​​ из «Лист1(2)» получены​​ формулу не скопируем,​​Правилами форума запрещено​​ «=» долго, то​ меняется и всегда​ диапазона равно результату​ содержащего месяцы; другой​ написать имя диапазона.​ в этом диапазоне​А5​

Смещение в эксель

planetaexcel.ru

​ верхнего угла нет).​


Функция

СМЕЩ(

)

, английский вариант 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

.

Содержание

  1. 30 функций Excel за 30 дней: СМЕЩ (OFFSET)
  2. Функция 26: OFFSET (СМЕЩ)
  3. Как можно использовать функцию OFFSET (СМЕЩ)?
  4. Синтаксис OFFSET (СМЕЩ)
  5. Ловушки OFFSET (СМЕЩ)
  6. Пример 1: Находим сумму продаж для выбранного месяца
  7. Пример 2: Суммируем продажи за выбранные месяцы
  8. Пример 3: Создаем динамический диапазон, основанный на подсчете
  9. Пример 4: Суммируем продажи за последние n месяцев
  10. Функция СМЕЩ() в EXCEL
  11. Синтаксис функции СМЕЩ()
  12. Примеры
  13. Функция СМЕЩ() vs ИНДЕКС()
  14. Exceltip
  15. Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
  16. Изучаем функцию СМЕЩ
  17. Синтаксис формулы СМЕЩ
  18. Зачем использовать формулу СМЕЩ?
  19. Интерактивное описание формулы СМЕЩ
  20. Практикуемся с формулой СМЕЩ – среднее значение последней недели
  21. Разберемся, как работает эта формула
  22. Вам также могут быть интересны следующие статьи
  23. 26 комментариев

30 функций Excel за 30 дней: СМЕЩ (OFFSET)

Вчера в марафоне 30 функций Excel за 30 дней мы заменяли текстовые строки с помощью функции REPLACE (ЗАМЕНИТЬ) и выяснили, что вставлять символы она тоже умеет.

В 26-й день марафона мы будем изучать функцию OFFSET (СМЕЩ). Она возвращает ссылку заданного размера, отстоящую от стартовой ссылки на указанное количество строк и столбцов.

Итак, давайте изучим информацию и примеры применения функции OFFSET (СМЕЩ), а если у Вас есть дополнительные сведения и свои примеры, пожалуйста, делитесь ими в комментариях.

Функция 26: OFFSET (СМЕЩ)

Функция OFFSET (СМЕЩ) возвращает ссылку, смещённую от заданной ссылки на определенное количество строк и столбцов.

Как можно использовать функцию OFFSET (СМЕЩ)?

Функция OFFSET (СМЕЩ) может возвратить ссылку на диапазон, а также работать в сочетании с другими функциями. Используйте её для того, чтобы:

  • Находить суммы продаж для выбранного месяца.
  • Суммировать данные о продажах за выбранные месяцы.
  • Создавать динамические диапазоны на основе подсчета.
  • Суммировать продажи за последние n месяцев.

Синтаксис OFFSET (СМЕЩ)

Функция OFFSET (СМЕЩ) имеет вот такой синтаксис:

  • reference (ссылка) – ячейка или диапазон смежных ячеек.
  • rows (смещ_по_строкам) – может быть положительным (вниз от начальной ссылки) или отрицательным (вверх от начальной ссылки).
  • cols (смещ_по_столбцам) — может быть положительным (вправо от начальной ссылки) или отрицательным (влево от начальной ссылки).
  • height (высота) – количество строк в возвращаемой ссылке, должен быть положительным.
  • width (ширина) – количество столбцов в возвращаемой ссылке, должен быть положительным.
  • Если аргументы height (высота) или width (ширина) не указаны, используются размеры исходной ссылки.

Ловушки OFFSET (СМЕЩ)

Функция OFFSET (СМЕЩ) пересчитывается каждый раз при любом изменении значений на листе Excel. Используя эту функцию во многих формулах, можно сильно замедлить работу. Вместо OFFSET (СМЕЩ) Вы можете использовать функцию INDEX (ИНДЕКС), чтобы возвратить ссылку. INDEX (ИНДЕКС) пересчитывает результат только при изменении своих аргументов.

Пример 1: Находим сумму продаж для выбранного месяца

При помощи функции OFFSET (СМЕЩ) Вы можете возвращать ссылку на диапазон, отталкиваясь от стартовой ссылки. В этом примере мы хотим получить сумму продаж в ячейке G2.

  • Стартовая ссылка – это ячейка C1.
  • Количество строк для сдвига вводится в ячейке F2.
  • Суммы продаж находятся в столбце C, поэтому сдвиг по столбцам равен нулю.
  • Аргумент height (высота) равен 1 строке.
  • Аргумент width (ширина) равен 1 столбцу.

В ячейке H2 находится формула, очень похожая на предыдущую, которая возвращает имя месяца. Единственное отличие – это сдвиг по столбцам: 1 вместо 0.

=OFFSET(C1,F2, 1 ,1,1)
=СМЕЩ(C1;F2;1; 1 ;1)

Замечание: В данном примере аргументы height (высота) и width (ширина) можно не указывать, поскольку нам нужна ссылка того же размера, что и стартовая.

Пример 2: Суммируем продажи за выбранные месяцы

В этом примере функция OFFSET (СМЕЩ) возвращает ссылку на данные о продажах за выбранный месяц, а функция SUM (СУММ) подсчитывает сумму для этого диапазона. В ячейке B10 указан номер выбранного месяца 3, следовательно, результатом будет сумма продаж в марте (Mar).

  • Начальная ссылка A3:A6.
  • Сдвиг по строкам равен нулю (если ноль вообще не указать, результат будет тот же).
  • Сдвиг по столбцам соответствует значению ячейки B10.
  • Высота и ширина не указаны, поскольку итоговый диапазон должен быть того же размера, что и начальный.

Пример 3: Создаем динамический диапазон, основанный на подсчете

Вы можете использовать функцию OFFSET (СМЕЩ), чтобы создать динамический диапазон. В этом примере мы создали именованный диапазон MonthList с такой формулой:

Если к списку в столбце C добавить ещё один месяц, он автоматически появится в выпадающем списке в ячейке F2, который использует имя MonthList, как источник данных.

Пример 4: Суммируем продажи за последние n месяцев

В этом заключительном примере OFFSET (СМЕЩ) работает вместе с SUM (СУММ) и COUNT (СЧЁТ), чтобы показать сумму за последние n месяцев. Как только добавляются новые значения, результат формулы будет автоматически скорректирован, чтобы включить величину продаж за последний месяц. В ячейке E2 количество месяцев равно 2, поэтому складываться будут суммы за август (Aug-10) и сентябрь (Sep-10).

  • Начальная ссылка – ячейка C2.
  • Количество строк для сдвига рассчитывается так:
    • подсчитываем количество чисел в столбце C,
    • вычитаем из результата количество месяцев, указанное в ячейке E3,
    • и прибавляем 1.
  • Продажи находятся в столбце C, поэтому сдвиг по столбцам равен нулю.
  • Высота введена в ячейке E3.
  • Ширина равна 1 столбцу.

Источник

Функция СМЕЩ() в EXCEL

history 9 апреля 2013 г.

Функция СМЕЩ() часто используется при создании динамических диапазонов . Рассмотрим ее подробнее.

Синтаксис функции СМЕЩ()

  • ссылка — ссылка, от которой вычисляется смещение;
  • смещ_по_строкам — количество строк, которые требуется отсчитать вверх или вниз, чтобы левая верхняя ячейка результата ссылалась на нужную ячейку (по умолчанию =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) и т.д. Но, записав формулу ввиде:

получим универсальное решение, в котором требуется изменять только последний аргумент (если в формуле выше вместо 4 ввести 5, то будет подсчитана сумма первых 5-и значений). Вышеуказанная формула эквивалентна формуле =СУММ(A2:ИНДЕКС(A2:A10;4)) , которая, в свою очередь, эквивалентна формуле =СУММ(A2:A5)

Формула ИНДЕКС(A2:A10;4) возвращает ссылку на ячейку А5 .

Источник

Exceltip

Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки

Изучаем функцию СМЕЩ

Не правда ли, было бы замечательно, если бы Excel мог изменять диапазон данных, например, для графиков или диаграмм, при добавлении новых строк или столбцов. На самом деле, возможность создания динамических диапазонов существует, и она реализована с помощью функции СМЕЩ.

Функция СМЕЩ возвращает ссылку на диапазон с определенной отправной точкой с заданной высотой и шириной.

Что это значит? К примеру, у вас есть диапазон данных, который используется для построения диаграммы, но количество строк настолько велико, что диаграмма становиться нечитабельной для пользователей. Выходом из ситуации станет отображение только определенной части данных. Например, пользователям необходимо будет указать последний квартал или год и функция СМЕЩ отправит новый диапазон данных на построение диаграммы.

Синтаксис формулы СМЕЩ

Формула СМЕЩ выглядит следующим образом:

=СМЕЩ(ссылка; смещение по строкам; смещение по столбцам; высота; ширина)

  • Ссылка: отправная точка, эта ячейка, относительно которой необходимо смещаться
  • Смещение по строкам и столбцам: Указывает, на какое количество строк или столбцов необходимо сместиться от отправной точки. Может иметь положительные и отрицательные значения, а также равняться нулю.
  • Высота и ширина: Это размер диапазона, который вы хотите вернуть. К примеру, 4X3 вернет диапазон содержащий 4 строки в высоту и 3 столбца в ширину.

И конечно, все аргументы могут ссылаться на другие ячейки. Это означает, что вы можете написать формулу =СМЕЩ(A1;D1;D2;D3; D4), которая вернет диапазон

  • Смещенный от ячейки A1
  • На D1 строк и D2 столбцов
  • Размером D3 строчки и D4 столбца

На рисунке изображен пример работы формулы СМЕЩ для лучшего понимания.

Зачем использовать формулу СМЕЩ?

Почему просто нельзя явно указать название диапазона, например, A1:C4?

Вот пара причин почему:

  • Динамические диапазоны: Ссылка типа A1:C4 всегда будет возвращать диапазон A1:C4, т.е. она статична. Но иногда нам необходимо, чтобы диапазон был динамичным. Это требуется потому что данные могут меняться (с каждым месяцем добавляются новые строчки, запускаются новые продукты – добавляются колонки)
  • Мы не знаем точного адреса: Иногда мы не можем знать фактического адреса. Чаще всего нам известна только стартовая ячейка. В такой ситуации нам поможет формула СМЕЩ.

Интерактивное описание формулы СМЕЩ

Формула СМЕЩ довольно непростая для понимания, поэтому была создана интерактивная таблица, чтобы вы могли лучше понять, как она работает. Изменяя 5 аргументов формулы, Excel будет выделять диапазон, который вы выбрали. После нескольких минут баловства, вы поймете формулу лучше.

Практикуемся с формулой СМЕЩ – среднее значение последней недели

Предположим, что мы работаем в службе качества фабрики по производству шоколадных батончиков. Одним из показателей эффективности (KPI), который мы должны отслеживать является бракованные батончики. Лист сбора данных будет выглядеть примерно следующим образом.

Так как же мы будем считать средний показатель брака за неделю?

Если предположить, что данные находятся в диапазоне B2:B23, тогда необходимо записать =СРЗНАЧ(B2:B23).

Но нам необходимо, чтобы эта формула менялась ежедневно.

Используя формулу СМЕЩ мы можем один раз посчитать среднее значение и больше не возвращаться к этому вопросу.

Разберемся, как работает эта формула

  • Для того, чтобы посчитать среднее значение последней недели, мы должны вытянуть последние 7 строк со всего массива данных.
  • Вот откуда взялась формула СЧЁТЗ(B2:B300)-7, которая считает количество значений и затем, от полученной цифры отнимается 7.
  • Формула СМЕЩ перемещается с ячейки B2 на стартовую ячейку последней недели.
  • На гифке показано, как работает динамический диапазон.

Вам также могут быть интересны следующие статьи

26 комментариев

СПАСИБО!
Хоть кто-то нормально разъяснил как эта полезная функция работает.
СПАСИБО!

Огромная благодарность за очень доступное объяснение этой функции для простых людей.
Думаю, не один я «сломал» голову, разбираясь с ней на офф. сайте «мелкомягких». Так держать!

Спасибо. Только с Вами разобрался! ))

Ренат, а какой софт вы используете для записи видео с монитора и создания гиф анимации?

Camtasia Studio 7

Спасибо, большое.
Частенько вставала проблема динамических диапазонов. Теперь есть простое решение. Сайт Ваш очень понравился. Побольше бы статей в нем еще, было бы вообще прекрасно.

Ренат, а вот если нам необходимо посчитать не среднюю сумму за последнюю неделю, а сумму по первому и последнему дню, не поможете решить такую вот задачку?

Если в рамках последнего примера, то вот что пришло первое на ум:
=СУММ(СМЕЩ(B2;СЧЁТЗ(B2:B300)-7;0);СМЕЩ(B2;СЧЁТЗ(B2:B300)-1;0))

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

Спасибо. Вы гений!))

Ренат добрый день,
столкнулся с задачей, задать в Excel следующее условие:
если в ячейке A1 стоит «да», то в ячейке А2 должно стоять «нет», а если в ячейке А1 стоит «нет» то в ячейке А2 должен появиться выбор из списка «да» или «нет».
Есть ли решение без программирования в VBA ?

Добрый день, Родион. Без VBA на ум приходит только вариант с наложением двойного условия на ячейку A2 и на диапазон выпадающего списка. Чтобы список менял свое содержимое, в зависимости от значения ячейки A1. Большой недостаток, данного метода, что после использования выпадающего списка в ячейке A2, формулы слетают. Пример в прикрепленном файле с условиями на выпадающий список

Ребята, привет!
Может поможете — подскажете:)

Есть данные продаж — по строкам список магазинов, по столбцам — название товара, внутри соответственно количество проданного товара.
Необходимо данные предоставить по строкам — Магазин, товар, кол-во.
Коллеги показывают использование функции СМЕЩ.

Как на ваш взгляд — это наиболее рациональный подход?

Добрый день,
Думаю, использование функции СМЕЩ — хороший вариант, но в вашем случае, я бы использовал функцию ИНДЕКС

мне необходимо в отдельную таблицу добавлять данные из другой таблицы. Все данные как бы располагаются по горизонтали. Строка остается прежняя, а столбец смещается на 2 вперед. я задала функцию смещ. но она работает только в первой ячейке. А дальше только если я копирую формулу по горизонтали. Но итоговая таблица по вертикали. Как сделать формулу, чтобы при копировании по вертикали, исходная строка не смещалась? Но при этом менялся столбец? Я сделала так OFFSET(BB$274,0,2).

Пришлите, пожалуйста, файл с примером, посмотрим. Судя по тому, что вы написали, все должно работать

Ренат, спасибо большое за описание функции!
Не могли бы вы также пояснить метод, который был использован для создания интерактивной таблицы. В частности, меня интересует часть «=ЧСТРОК(диап_смещ I12)», которая возвращает «пусто», если ячейка вне диапазона, и «1», если внутри. Я первый раз вижу использование названия массива через пробел со ссылкой на ячейку, хотел бы понять, какой механизм за этим стоит. Спасибо большое.

Ренат, это одна из хитростей Excel. Функция ЧСТРОК позволяет сказать количество строк, которые находятся на пересечении двух массивов (в нашем случае массива и ячейки). Пробел указывает на то, что нам необходимо именно пересечение

С большим интересом прочитал вашу статью о формуле СМЕЩ.
Очень интересно и познавательно! Особенно понравилось
применение СМЕЩ для вычисления среднего значения последней недели.
Просто великолепно! Давно искал что-то подобное, простое
и изящное. Благодарю за ваш труд.
Скажите, а нельзя ли как-то переписать вашу формулу таким образом,
чтобы она при вычислениях учитывала (игнорировала-?) пустые ячейки?
Я попробовал применить вашу формулу к диапазону чисел, в котором
есть пустые ячейки.Применительно к примеру в вашей статье — это как если бы
отсутствовало, например, число 98 в ячейке В20. Получилась какая-то ерунда, формула
вроде бы посчитала, но выдала неверное значение. Как можно это исправить,
чтобы формула работала с диапазоном чисел, в котором есть пустые ячейки?
Мне лично ничего в голову не приходит, пробовал и так и сяк, ничего
не получается. Может быть, поможете решить эту проблему?

Добрый день, чтобы определить положение последнего элемента в диапазоне, необходим непрерывный массив (без пустых ячеек). Если все таки в диапазоне имеются пробелы, роль такого массива может сыграть столбец с датами. Тогда формула примет вид: =СРЗНАЧ(СМЕЩ(B2;СЧЁТЗ(A2:A300)-7;0;7;1))

Здравствуйте, Ренат! Спасибо за помощь, новая формула прекрасно работает,
все правильно считает, в том числе и при наличии пустых ячеек. Как раз то, что мне
и было нужно. Ещё раз благодарю за вашу помощь.

Пользуюсь вашей формулой уже 2 дня, прекрасно работает, ещё раз благодарю
за помощь.
В процессе работы с формулой возникла одна проблемка, связанная с особенностью
тех данных, на основании которых я строю таблицу. Я как-то упустил её из вида, когда
в первый раз обращался к вам за помощью. Может быть, поможете решить её сейчас?
Вы пишете:»…Для того, чтобы посчитать среднее значение последней недели,
мы должны вытянуть последние 7 строк со всего массива данных.
Вот откуда взялась формула СЧЁТЗ(B2:B300)-7, которая считает количество
значений и затем, от полученной цифры отнимается 7.» Т.е. формула в обоих
вариантах задает смещение на определенное количество строк, 7 в данном случае,
и уже для них рассчитывают СРЗНАЧ. В моем случае, при наличии пустых ячеек в диапазоне,
может возникнуть ситуация, когда все эти ячейки окажутся пустыми, т.к.
промежутки между данными, как выяснилось, могут быть в одних случаях 1 ячейка, а
в других 5,10, и даже 24 ячейки(!) могут оказаться пустыми. Столкнулся сегодня
с таким вариантом, сам не ожидал ничего подобного. Причем, все это постоянно меняется.
В таких условиях вести расчет в диапазоне, состоящем из определенного количества
строк, очень неудобно. Приходится все равно перелопачивать весь столбец вручную.
В этом случае гораздо лучше было бы считать диапазон, состоящий
не из определенного количества ячеек(7), как это сделано у вас, а диапазон, состоящий из
из определенного количества только лишь ЗАПОЛНЕННЫХ ячеек(7). Которые, с учетом пустых
ячеек между ними, могут занимать 7,10,20… любое количество ячеек, если считать их
подряд, от последней заполненной до седьмой, например, лежащей внутри диапазона В. Именно
такая формула мне необходима. Может быть, на базе вашей формулы, вы смогли бы создать
нечто подобное? Я был бы вам очень благодарен.
Применительно к примеру в вашей статье и с учетом решения для диапазона с пустыми
ячейками, которое вы мне уже подсказали, алгоритм действий мог бы выглядеть следующим
образом. СЧЕТЗ ведем по столбцу А с датами, поскольку он без пробелов. Затем из этого
столбца выбираем только те даты, для которых в столбце В есть заполненные ячейки. Выбираем
определенное количество таких ячеек из столбца В, например 7 последних, и уже для них рассчитываем
СРЗНАЧ. При это вся эта конструкция, естественно, должна работать так же, как и ваша формула,
если в ячейки А и В будут добавлены новые значения. Как-то так.
Но как именно все это выбрать и соотнести? При помощи ВПР, ЕСЛИ, работы с базами
данных, если столбец В обозначить как базу данных, или ещё каких-то функций и приемов?
Тут моих знаний не хватает, очень надеюсь на вашу помощь.

Здравствуйте, Ренат.
Помогите решить следующую проблему по использованию функции СМЕЩ. Есть таблица с двумя страницами. На первой с названием «расчет 2015» в диапазоне F5:F16 находятся данные по расходу эл.энергии в квт.час. за календарные промежутки времени, которые вносятся в диапазон E2:E16. На второй странице с названием «эл.тариф» идет расчет стоимости по сложным тарифам. В ячейку G3 вносится текущее значение =МАКС(‘расчет 2015’!F5:F16), а в ячейку G2 надо внести значение, которое является предыдущим к максимальному (т.е. за предыдущий период). Я составил формулу = =СМЕЩ(МАКС(‘расчет 2015’!F5:F16);-1;0;1;1)), но к сожалению результата нет. Программа говорит «ошибка в формуле». Сам расчет стоимости простой, но не удается перенести нужные данные по квт.часам.
Буду очень признателен, если сможете помочь.
Спасибо.

Владислав, если вам нужно найти следующую после максимальной величину, воспользуйтесь функцией НАИБОЛЬШИЙ, которая возвращает требуемый наибольший элемент в массиве. Подробнее про эту функцию можно прочитать в статье про функцию НАИБОЛЬШИЙ/ НАИМЕНЬШИЙ

Здравствуйте. Помогите с проблемой.
Необходимо, чтобы когда менеджер выбирает день месяца — в соседнем столбце в выпадающем списке были доступны только те машины, которые отметили как «доступные» в этот день (и еще надо, чтобы пустых строк не было в выпадающем перечне)

Для этого сделал перечень авто и возможность, чтобы человек вручную по дням отмечал, какие из них будут доступны (т.к. надо чтобы можно было на сегодня и например на 3 дня вперед отметить доступные авто). После этого сделал еще одну таблицу в разрезе дней, куда переносятся доступные авто без пробелом и для каждого дня создал именованный диапазон (с помощью СМЕЩ, чтобы в конце не было пустых ячеек выпадающем списке).
Диапазоны каждого дня назвал д1, д2 … д31.
И теперь когда пытаюсь привязать эти диапазоны к Дате с помощью ДВССЫЛ, то выпадает ошибка в источнике (как я понимаю, т.к. ДВССЫЛ и СМЕЩ не совместимы?)
Что можно еще придумать, как можно сразу в источник прописать формулу со СМЕЩ, чтобы при выборе дня месяца — сразу выбирался перечень доступных машин этого дня.
Без СМЕЩ всё получается, но тогда пустые ячейки в перечне.
Буду очень благодарен за помощь.

Источник

 

Добрый день.  :)

Помогите, пожалуйста с формулой, она проста, но нужно ее автоматизировать.
формула в BO3:
=B3/СУММ(AG3:AL3)
дословно:
=столбец «кол-во» итого неделя/сумм(сумма по дням одной недели столбца «трт» )

Думаю, наглядней будет во вложении

Заранее прошу прощение за «косноязычие»

На все дополнительные вопросы, если таковы будут, отвечу.
Спасибо.
 :)

Прикрепленные файлы

  • расчет.xlsx (17.35 КБ)

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#2

30.01.2013 19:40:28

так наверно

Код
=СМЕЩ($B3;;(СТОЛБЕЦ(A1)-1)*6)/СУММ(СМЕЩ($AG3:$AL3;;(СТОЛБЕЦ(A1)-1)*6))
 

Прошу прощения, но что-то не работает формула

 

Владимир

Пользователь

Сообщений: 8196
Регистрация: 21.12.2012

#4

31.01.2013 12:11:20

Попробуйте так:

Код
=СУММПРОИЗВ(ИНДЕКС($A3:$BN3;;Ч(ИНДЕКС(СТОЛБЕЦ($AG$14:$AL$14)+СТОЛБЕЦ(A$1)*7-7  ;)  )))

Изменено: Владимир05.10.2014 09:31:19

«..Сладку ягоду рвали вместе, горьку ягоду я одна.»

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

#5

31.01.2013 12:34:19

Цитата
Maksimenkok пишет:
Прошу прощения, но что-то не работает формула

второе смещение должно быть на 7, а там на шесть.

 

Владимир, какие-то крупные цифры получаются. Что-то не то.

Прикрепленные файлы

  • скрин.JPG (26.3 КБ)

 

Может я не очень доступно описала вопрос. Попробую по другому.

Есть формула  

=B3/СУММ(AG3:AL3)

При протягивании в следующую ячейку выдает

=C3/СУММ(AH3:AM3) – это не верно

Должно быть так:

=H3/СУММ(AN3:AS3)

Т.е. с В3 перепрыгнуть на Н3 (5ячеек), а диапазон AG3:AL3 сместить на AN3:AS3 (7 ячеек)

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

#8

31.01.2013 14:07:31

формулу от Михаил С. поправил, проверяйте

Код
=СМЕЩ($B3;;(СТОЛБЕЦ(A1)-1)*6)/СУММ(СМЕЩ($AG3:$AL3;;(СТОЛБЕЦ(A1)-1)*7))
 

из-за абсолютной ссылки формула не меняется, смещается только СТОЛБЕЦ(A1) на СТОЛБЕЦ(B1) и т.д.
если убрать абсолютную ссылку-протягивается на одну ячейку, не перепрыгивает, а это как раз то, с чем борюсь

 

V

Пользователь

Сообщений: 5018
Регистрация: 22.12.2012

#10

31.01.2013 14:29:43

вы её в таблицу вставляли, растягивали? смешение по столбцам происходит за счет этого

Код
(СТОЛБЕЦ(A1)-1)*6

по строкам за счет того что в $B3 тройка не закреплена.

 

по строкам за счет того что в $B3 тройка не закреплена.[/QUOTE]

Вот это да! Волшебство какое-то! ВСЕ РАБОТАЕТ!
Спасибо большое!  :{}  

Осталось понять как все это дело работает ))

Еще раз спасибо за решение вопроса и за уделенное для меня время.  :{}  

Можно тему считать закрытой.

 

Михаил С.

Пользователь

Сообщений: 10514
Регистрация: 21.12.2012

#12

31.01.2013 19:11:00

Цитата
V пишет:
второе смещение должно быть на 7, а там на шесть.

Да, верно. Не обратил внимания, что во второй части на один столбец больше.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#13

02.02.2013 00:13:44

=ИНДЕКС($B3:$AE3;(СТОЛБЕЦ(A:A)-1)*6+1)/СУММ(ИНДЕКС($AG3:$BN3;(СТОЛБЕЦ(A:A)-1)*6+1):ИНДЕКС($AG3:$BN3;(СТОЛБЕЦ(A:A)*6)))

Длиннее, да.
Но не будет пересчитываться при любых изменениях на листе.

Формула СМЕЩ

Не правда ли, было бы замечательно, если бы Excel мог изменять диапазон данных, например, для графиков или диаграмм, при добавлении новых строк или столбцов. На самом деле, возможность создания динамических диапазонов существует, и она реализована с помощью функции СМЕЩ.

Функция СМЕЩ возвращает ссылку на диапазон с определенной отправной точкой с заданной высотой и шириной.

Что это значит? К примеру, у вас есть диапазон данных, который используется для построения диаграммы, но количество строк настолько велико, что диаграмма становиться нечитабельной для пользователей. Выходом из ситуации станет отображение только определенной части данных. Например, пользователям необходимо будет указать последний квартал или год и функция СМЕЩ отправит новый диапазон данных на построение диаграммы.

Синтаксис формулы СМЕЩ

Перевод статьи с сайта Chandoo

Формула СМЕЩ выглядит следующим образом:

=СМЕЩ(ссылка; смещение по строкам; смещение по столбцам; высота; ширина)

  • Ссылка: отправная точка, эта ячейка, относительно которой необходимо смещаться
  • Смещение по строкам и столбцам: Указывает, на какое количество строк или столбцов необходимо сместиться от отправной точки. Может иметь положительные и отрицательные значения, а также равняться нулю.
  • Высота и ширина: Это размер диапазона, который вы хотите вернуть. К примеру, 4X3 вернет диапазон содержащий 4 строки в высоту и 3 столбца в ширину.

И конечно, все аргументы могут ссылаться на другие ячейки. Это означает, что вы можете написать формулу =СМЕЩ(A1;D1;D2;D3; D4), которая вернет диапазон

  • Смещенный от ячейки A1
  • На D1 строк и D2 столбцов
  • Размером D3 строчки и D4 столбца

На рисунке изображен пример работы формулы СМЕЩ для лучшего понимания.

Пример формулы СМЕЩ

Зачем использовать формулу СМЕЩ?

Почему просто нельзя явно указать название диапазона, например, A1:C4?

Вот пара причин почему:

  • Динамические диапазоны: Ссылка типа A1:C4 всегда будет возвращать диапазон A1:C4, т.е. она статична. Но иногда нам необходимо, чтобы диапазон был динамичным. Это требуется потому что данные могут меняться (с каждым месяцем добавляются новые строчки, запускаются новые продукты – добавляются колонки)
  • Мы не знаем точного адреса: Иногда мы не можем знать фактического адреса. Чаще всего нам известна только стартовая ячейка. В такой ситуации нам поможет формула СМЕЩ.

Интерактивное описание формулы СМЕЩ

Формула СМЕЩ довольно непростая для понимания, поэтому была создана интерактивная таблица, чтобы вы могли лучше понять, как она работает. Изменяя 5 аргументов формулы, Excel будет выделять диапазон, который вы выбрали. После нескольких минут баловства, вы поймете формулу лучше.

Интерактивная таблица

Скачать книгу с интерактивной таблицей формулы СМЕЩ.

Практикуемся с формулой СМЕЩ – среднее значение последней недели

Предположим, что мы работаем в службе качества фабрики по производству шоколадных батончиков. Одним из показателей эффективности (KPI), который мы должны отслеживать является бракованные батончики. Лист сбора данных будет выглядеть примерно следующим образом.

Лист сбора данных

Так как же мы будем считать средний показатель брака за неделю?

Если предположить, что данные находятся в диапазоне B2:B23, тогда необходимо записать =СРЗНАЧ(B2:B23).

Но нам необходимо, чтобы эта формула менялась ежедневно!!!

Используя формулу СМЕЩ мы можем один раз посчитать среднее значение и больше не возвращаться к этому вопросу.

=СРЗНАЧ(СМЕЩ(B2;СЧЁТЗ(B2:B300)-7;0;7;1))

Разберемся, как работает эта формула

  • Для того, чтобы посчитать среднее значение последней недели, мы должны вытянуть последние 7 строк со всего массива данных.
  • Вот откуда взялась формула СЧЁТЗ(B2:B300)-7, которая считает количество значений и затем, от полученной цифры отнимается 7.
  • Формула СМЕЩ перемещается с ячейки B2 на стартовую ячейку последней недели.
  • На гифке показано, как работает динамический диапазон.

как работает динамический диапазон

Понравилась статья? Поделить с друзьями:
  • Excel формулы самоучитель если
  • Excel формулы с экспонентой
  • Excel формулы с форматом ячейки
  • Excel формулы с условиями больше или меньше
  • Excel формулы с условия больше меньше