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

Нужна дополнительная помощь?

Содержание

  1. Exceltip
  2. Блог о программе Microsoft Excel: приемы, хитрости, секреты, трюки
  3. Изучаем функцию СМЕЩ
  4. Синтаксис формулы СМЕЩ
  5. Зачем использовать формулу СМЕЩ?
  6. Интерактивное описание формулы СМЕЩ
  7. Практикуемся с формулой СМЕЩ – среднее значение последней недели
  8. Разберемся, как работает эта формула
  9. Вам также могут быть интересны следующие статьи
  10. 26 комментариев
  11. СМЕЩ (функция СМЕЩ)
  12. Описание
  13. Синтаксис
  14. Примечания
  15. Пример

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.
И теперь когда пытаюсь привязать эти диапазоны к Дате с помощью ДВССЫЛ, то выпадает ошибка в источнике (как я понимаю, т.к. ДВССЫЛ и СМЕЩ не совместимы?)
Что можно еще придумать, как можно сразу в источник прописать формулу со СМЕЩ, чтобы при выборе дня месяца — сразу выбирался перечень доступных машин этого дня.
Без СМЕЩ всё получается, но тогда пустые ячейки в перечне.
Буду очень благодарен за помощь.

Источник

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

В этой статье описаны синтаксис формулы и использование функции СМЕЩ в Microsoft Excel.

Описание

Данная функция возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов. Возвращаемая ссылка может быть отдельной ячейкой или диапазоном ячеек. Можно задавать количество возвращаемых строк и столбцов.

Синтаксис

Аргументы функции СМЕЩ описаны ниже.

Ссылка — обязательный аргумент. Ссылка, от которой вычисляется смещение. Аргумент «ссылка» должен быть ссылкой на ячейку или на диапазон смежных ячеек, в противном случае функция СМЕЩ возвращает значение ошибки #ЗНАЧ!.

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

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

Высота Необязательный. Высота (число строк) возвращаемой ссылки. Значение аргумента «высота» должно быть положительным числом.

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

Примечания

Если аргументы «смещ_по_строкам» и «смещ_по_столбцам» выводят ссылку за границы рабочего листа, функция СМЕЩ возвращает значение ошибки #ССЫЛ!.

Если высота или ширина опущена, то предполагается, что используется та же высота или ширина, что и в аргументе «ссылка».

Функция СМЕЩ фактически не передвигает никаких ячеек и не меняет выделения; она только возвращает ссылку. Функция СМЕЩ может использоваться с любой функцией, в которой ожидается аргумент типа «ссылка». Например, с помощью формулы СУММ(СМЕЩ(C2;1;2;3;1)) вычисляется суммарное значение диапазона, состоящего из трех строк и одного столбца и расположенного одной строкой ниже и двумя столбцами правее ячейки C2.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Источник

Просмотров: 214

Функция ИНДЕКС, ПОИСКПОЗ и СМЕЩ. Постановка задачи

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

Функция ИНДЕКС. Получение данных из таблиц.

Необходимо найти по коду номенклатуры ее название. Все бы ничего, но название номенклатуры располагается слева от колонки с кодами, поэтому применить столь любимую многими функцию ВПР нельзя. Ну не работает она в левую сторону! Как вариант решения можно попробовать скопировать колонку с кодом в начало таблицы. Можно, но во избежание случайного удаления или искажения такие таблицы защищают от редактирования. Другими словами, в них нельзя добавлять столбцы или менять их местами. Как же быть? Выполнять поиск вручную? Вот в таких ситуациях и начинает работать функция ИНДЕКС и СМЕЩ совместно с   ПОИСКПОЗ. Рассмотрим эти функции подробнее. 

Функция ПОИСКПОЗ.

Данная функция позволяет найти порядковый номер элемента в списке. В ней по очереди, разделяя точкой с запятой в русской версии Windows или запятой в русифицированной версии, надо указать такие данные:

  • Искомое значение. Это значение, которое мы будем искать в списке. Значение должно быть уникальным, иначе Excel найдет только первое!
  • Диапазон списка. Может состоять только из одного столбца или одной сроки. Это важно! Если попробовать выделить две колонки или две строки, программа выдаст ошибку!
  • Способ поиска. Тут надо указать вариант, согласно которому приложение выполнит поиск позиции для нашего искомого значения. Тут возможны следующие типы.

1  Будет найдено ближайшее к нашему значение, которое не превышает его, то есть НЕ БОЛЬШЕ нужного. Равным может быть, но не больше. Список должен располагаться ПО ВОЗРАСТАНИЮ.

-1  Excel найдет значение, которое самое близкое к заданному нами, но НЕ МЕНЬШЕ ЕГО. Список должен быть ПО УБЫВАНИЮ.

0   Запустится поиск ТОЧНОГО СООТВЕТСТВИЯ значения из списка заданному нами. Сортировка тут НЕ ТРЕБУЕТСЯ.

Наглядное применение ПОИСКПОЗ.

Посмотрите на скриншот.

Функция ИНДЕКС. Получение данных из таблиц.

Особое внимание обратите вот на что. Во второй и третьей формуле задан тип поиска равный 1 (единице). Однако если в первой из них Excel искал число, которое действительно присутствует в списке, то есть число 50, то он его порядковый номер и указал. А вот числа 68 в списке нет, поэтому он указал порядковый номер значения из списка, которое находится ближе всего к нужному нам, то есть к 68, но его не превышает. А это – число 60.

И еще одна тонкость. Если использовать тип поиска, или, как пишется в справке Excel по этой функции, тип сопоставления, единицу, и в качестве искомого задать значение, которое будет явно больше любого в списке, то Excel покажет номер самого последнего элемента. Таким образом можно узнать, какая строка является последней в таблице. Вот пример:

Получение данных из таблиц

Замечу, что для текстовых списков надо указывать максимально возможное ТЕКСТОВОЕ значение, например, так: «ЯЯЯ». В случае с числовыми данными указывает максимальное ЧИСЛОВОЕ значение, например, 99999999.

Функция ИНДЕКС в Excel и ее особенности.

Функция ИНДЕКС показывает значение на пересечении заданных строки и столбца в указанной таблице. При ее написании надо последовательно указать таблицу, номер строки в ней и номер столбца в ней. Из пересечения указанных строки и столбца Excel и возьмет нужные нам данные.

Функция ИНДЕКС. Получение данных из таблиц.

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

Получение данных из таблиц

Стоит поменять в ней значение, и результат функции СУММ поменяется.

Получение данных из таблиц

Кроме этого, надо помнить, что кроме варианта работы с единым массивом, существует вариант написания функции ИНДЕКС с выбором для расчета нужной области из указанных. При написании такой функции надо указать

  1. Области, которые будут обработаны. Их пишут в отдельных скобках, разделяя точкой с запятой или запятой в зависимости от ваших настроек.
  2. Строка в выбранной области, которая интересует
  3. Столбец, на пересечении которого с указанной строкой надо взять значение
  4. Область из перечисленных в начале.

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

Получение данных из таблиц

В этом примере одна и та же формула позволили получить данные по сервисному обслуживанию за первый период, то есть за январь, по очереди по трем областям. Однако чаще все-таки используется вариант функции ИНДЕКС, который был рассмотрен в начале.

Функция СМЕЩ в Excel и тонкости ее применения.

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

СМЕЩ(1;2;3;4;5)

  1. Ссылка, от которой отсчитывается перемещение.
  2. На сколько строк надо переместиться.
  3. Сколько  столбцов надо отсчитать для перемещения.
  4. Объем строк в диапазоне, на которые перемещаемся. Указывать не обязательно.
  5. Количество столбцов, на которые перемещаемся. Тоже указывать не обязательно.

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

Приведем пример.

Функция ИНДЕКС. Получение данных из таблиц.

В примере выше происходит перемещение от ячейки G11 сначала на 2 строчки вверх, затем на 4 колонки влево. В найденной ячейки находится число 10, которое и является результатом работы функции.

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

Получение данных из таблиц

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

Получение данных из таблиц

Первый вариант создания “левого ВПР”. Комбинируем ИНДЕКС и ПОИСКПОЗ. 

Теперь попробуем связать функцию ИНДЕКС и ПОИСКПОЗ. Смысл здесь в том, что количество строк и (или) столбцов для функции ИНДЕКС можно найти с помощью функции ПОИСКПОЗ. В частности, задача, с которой мы начали занятие, может быть решена в два хода. Вначале с помощью ПОИСКПОЗ находим номер нужной строчки, а уже зная ее, переходим в ней с помощью ИНДЕКС в нужную сторону.

Функция ИНДЕКС. Получение данных из таблиц.

Данные формулы конечно можно объединить в одну. Если в последней формуле вместо адреса К8 указать ее содержимое, то есть записать ПОИСКПОЗ(K6;C7:C86;0), то результат работы не изменится. Итоговая формула будет уже такой:

Получение данных из таблиц

Такую комбинацию ИНДЕКС и ПОИСКПОЗ часто называют ЛЕВЫМ ВПР. Полученная комбинация работает аналогично ВПР, но из-за алгоритма она, во-первых, работает быстрее, а во-вторых, поиск заданного значения не привязан только к первому столбцу, и формула получается более универсальной и гибкой.

Второй вариант создания “левого ВПР”. Комбинируем СМЕЩ и ПОИСКПОЗ.

Аналогично комбинированию ИНДЕКС и ПОИСКПОЗ, мы можем использовать для извлечения нужного значения из таблицы комбинирование СМЕЩ и ПОИСКПОЗ. В полученной составной функции с помощью ПОИСКПОЗ находим перемещение по строкам и столбцам. Расписывать все это по отдельности второй раз уже станем, а сразу покажем формулу.

Функция ИНДЕКС. Получение данных из таблиц.

В следующем примере с помощью сцепления формул СМЕЩ и ПОИСКПОЗ рассчитывается общая стоимость заказа по каждой позиции. При этом цена автоматически изменяется в зависимости от заказанного количества в соответствии с условиями, указанными в заголовке.

Получение данных из таблиц

Особенности связки СМЕЩ и ПОИСКПОЗ

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

Делаем выводы.

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

На этом наше занятие можно считать законченным. Попробуйте сами применить полученные знания. Вначале поработайте на учебных материалах, а уже потом и в рабочих документах. Всем удачи и успехов в использовании 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)).

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    Excel contains many useful formulas and functions that make it more and more useful and at the same time user-friendly. Such a function is the OFFSET() function. In many cases, this function is also used inside another function. This function basically returns a reference of a single cell or a range of cells depending on the input. With the help of this function, we can traverse from one cell to another cell. Moreover, the user can specify the number of rows and columns to be returned.

    This function is a volatile function that also works according to its name. It returns a reference of the desired element(s) that is(are) ‘offset’ of some distance from the given starting point. This can be used within some functions to make tasks easier. 

    Syntax:

    OFFSET(reference, rows, cols, [height], [width])
    
    -->Here the [height] and [width] are optional.

    This function takes a valid reference, rows, and columns(To know how much distance the function will traverse), and height and width(that describes the height and width of output reference) as its arguments and returns the desired reference of the cell or the range of cells. These arguments are discussed below elaborately.

    Arguments:

    • reference (Required): This is the reference of the starting point or the base of the OFFSET() function and this reference must be provided by the user. The reference must be valid i.e. a reference of a single cell or a reference to a range of adjacent cells.
    • rows (Required): This argument contains the number of rows(up or down) that are used by the OFFSET() function to traverse up or down. Again this argument must be provided by the user. This value may be negative or positive. A negative value denotes that the function has to traverse upwards and a positive value denotes traversing downwards.
    • cols (Required): This argument contains the number of columns provided by the user. With the help of this argument OFFSET(), function traverse left or right of the starting point. This value may also be negative or positive. A negative value means traversing to the left and a positive value means traversing to the right.
    • [height] (Optional): This is the height of the reference to be returned by the OFFSET() function. Basically, this value denotes the number of rows of the returned reference. This value must be a positive number. But this is an optional argument. If this argument is omitted, OFFSET() returns a reference of the same height as the ‘reference’(starting point).
    • [width] (Optional): This is the width of the reference to be returned by the OFFSET() function. Basically, this value denotes the number of columns of the returned reference. This value must also be a positive number. But again this is an optional argument. If this argument is omitted, OFFSET() returns a reference of the same width as the ‘reference’(starting point).
    Note: The number of rows and columns must not exceed the height and width of the worksheet.

    Return Value: This function naturally returns a reference to a range of cells(sometimes a single cell depending on the input arguments) of a certain height and width either same as the ‘reference’ argument or as the user has provided. 

    Example:

    An Excel sheet has been taken as an example and the OFFSET function has been used in several formats.

    Value 1 Value 2 Value 3
    25 5 5
    35 7 5
    23 0 0
    26 25 5
    28 3 6

    OFFSET function has been applied to the above table.

    OFFSET() function  Results Remarks
    =OFFSET(C4, 2, -2, 1, 1) 28

    OFFSET function traverses 2 rows down and 2 columns left, 

    and returns the reference of cell A6.

    =OFFSET(C2, 5, -5) #REF! Rows and columns arguments exceed the height and width of the worksheet. So it shows the error(#REF!).
    =SUM(OFFSET(B2:C5, 0, -1)) 146 Here OFFSET is used within the SUM() function. It returns the sum of all elements from A2 to B5 as OFFSET returns the reference of A2:B5 cells.

    Output:

    Like Article

    Save Article

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Excel сортирует числа как текст
  • Excel сортирует только один столбец
  • Excel сортирует не с буквы а
  • Excel сортирует не весь список
  • Excel сортировка ячеек с формулами

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии