Плавающая формула в excel


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


Динамический диапазон —

это

Именованный диапазон

с изменяющимися границами. Границы диапазона изменяются в зависимости от количества значений в определенном диапазоне.

Динамические диапазоны используются для создания таких структур, как:

Выпадающий (раскрывающийся) список

,

Вложенный связанный список

и

Связанный список

.

Задача

Имеется таблица продаж по месяцам некоторых товаров (см.

Файл примера

):

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

Выпадающего списка

.

Для решения задачи нам потребуется сформировать два

динамических диапазона

: один для

Выпадающего списка

, содержащего месяцы; другой для диапазона суммирования.

Для формирования динамических диапазонов будем использовать функцию

СМЕЩ()

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

Создадим

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

для

Выпадающего списка

, содержащего месяцы. С одной стороны нужно учитывать тот факт, что пользователь может добавлять продажи за следующие после апреля месяцы (май, июнь…), с другой стороны

Выпадающий список

не должен содержать пустые строки.

Динамический диапазон

как раз и служит для решения такой задачи.

Для создания динамического диапазона:

  • на вкладке

    Формулы

    в группе

    Определенные имена

    выберите команду

    Присвоить имя

    ;
  • в поле

    Имя

    введите:

    Месяц

    ;
  • в поле

    Область

    выберите лист

    Книга

    ;
  • в поле

    Диапазон

    введите формулу

    =СМЕЩ(лист1!$B$5;;;1;СЧЁТЗ(лист1!$B$5:$I$5))
  • нажмите ОК.

Теперь подробнее. Любой диапазон в EXCEL задается координатами верхней левой и нижней правой ячейки диапазона. Исходной ячейкой, от которой отсчитывается положение нашего динамического диапазона, является ячейка

B5

. Если не заданы аргументы функции

СМЕЩ()

смещ_по_строкам,

смещ_по_столбцам

(как в нашем случае), то эта ячейка является левой верхней ячейкой диапазона. Нижняя правая ячейка диапазона определяется аргументами

высота

и

ширина

. В нашем случае значение высоты =1, а значение ширины диапазона равно результату вычисления формулы

СЧЁТЗ(лист1!$B$5:$I$5)

, т.е. 4 (в строке 5 присутствуют 4 месяца с

января

по

апрель

). Итак, адрес нижней правой ячейки нашего

динамического диапазона

определен – это

E

5

.

При заполнении таблицы данными о продажах за

май

,

июнь

и т.д., формула

СЧЁТЗ(лист1!$B$5:$I$5)

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

Выпадающий список

.

ВНИМАНИЕ! При использовании функции

СЧЕТЗ()

необходимо убедиться в отсутствии пустых ячеек! Т.е. нужно заполнять перечень месяцев без пропусков.

Теперь создадим еще один

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

для суммирования продаж.

Для создания

динамического диапазона

:

  • на вкладке

    Формулы

    в группе

    Определенные имена

    выберите команду

    Присвоить имя

    ;
  • в поле

    Имя

    введите:

    Продажи_за_месяц

    ;
  • в поле

    Диапазон

    введите формулу =

    СМЕЩ(лист1!$A$6;;ПОИСКПОЗ(лист1!$C$1;лист1!$B$5:$I$5;0);12)
  • нажмите ОК.

Теперь подробнее.

Функция

ПОИСКПОЗ()

ищет в строке 5 (перечень месяцев) выбранный пользователем месяц (ячейка

С1

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

А6

), высота диапазона не меняется и всегда равна 12 (при желании ее также можно сделать также динамической – зависящей от количества товаров в диапазоне).

И наконец, записав в ячейке

С2

формулу =

СУММ(Продажи_за_месяц)

получим сумму продаж в выбранном месяце.

Например, в мае.

Или, например, в апреле.


Примечание:

Вместо формулы с функцией

СМЕЩ()

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

ИНДЕКС()

: =

$B$5:ИНДЕКС(B5:I5;СЧЁТЗ($B$5:$I$5))

Формула подсчитывает количество элементов в строке 5 (функция

СЧЁТЗ()

) и определяет ссылку на последний элемент в строке (функция

ИНДЕКС()

), тем самым возвращает ссылку на диапазон

B5:E5

.

Визуальное отображение динамического диапазона

Выделить текущий

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

можно с помощью

Условного форматирования

. В

файле примера

для ячеек диапазона

B6:I14

применено правило

Условного форматирования

с формулой: =

СТОЛБЕЦ(B6)=СТОЛБЕЦ(Продажи_за_месяц)

Условное форматирование

автоматически выделяет серым цветом продажи

текущего месяца

, выбранного с помощью

Выпадающего списка

.

Применение динамического диапазона

Примеры использования

динамического диапазона

, например, можно посмотреть в статьях

Динамические диаграммы. Часть5: график с Прокруткой и Масштабированием

и

Динамические диаграммы. Часть4: Выборка данных из определенного диапазона

.

Друзья, всем привет!

Иногда приходится создавать формулы с плавающим диапазоном. Этот плавающий диапазон нужно совмещать с формулами ранга, ВПР и прочими. (пример во вложении с формулой ранг). По ВПР пример не даю, но принцип аналогичный…  
Реже бывают случаи, когда плавающий диапазон должен определяться по нескольким условиям.

Я когда-то давно, может, годика 3 назад, имел на компе файл с формулой ранга с плавающим диапазоном по 3-м условиям. Главное понимать принцип…
Там использовались формулы СМЕЩ, ПОИСКПОЗ и СЧЁТЕСЛИ. Я пол дня пытался склеить их воедино, но, видимо, выпил мало коньяка…  8-0  :D  :D

Если кто знает — прошу вашей помощи.
Если такая тема уже есть, подскажите, куда заглянуть  :)

Спасибо за помощь!

Формула с плавающим уменьшающимся процентом

xssdem

Дата: Пятница, 19.06.2020, 12:06 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Добрый день! Описываю суть задачи. Есть файлик с заранее задаными данными в аттаче
Оклад — константа, суммируется в итог
Прибыль — значение задается вручную
Базовая единица — значение которое задается вручную
Плавающий процент — значение в процентах которое должно изменятся в меньшую зависимости от того на сколько прибыль больше чем заданная единица. Максимальное значение 10% минимальное 4%.
Задача что бы процент уменьшался более плавно в зависимости от того на сколько значение прибыли превышает базовую единицу. Плавность должна регулироваться значением ячейки коэффициент (число от 1 — 10)
Итог: сумма оклад+процент
Платная задача, оплата на карту.

 

Ответить

AlexM

Дата: Пятница, 19.06.2020, 13:06 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Плавность должна регулироваться

непонятен алгоритм регулировки.

Платная задача, оплата на карту.

разделом не ошиблись?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

xssdem

Дата: Пятница, 19.06.2020, 13:31 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

непонятен алгоритм регулировки.

Ставим число от 1 до 10, чем выше число тем плавнее уменьшается процент, т.к. максимальная сумма прибыли по своей сути не ограничена, а минимальный процент ограничен Создал в этом разделе опираясь на описание: «Здесь можно задавать вопросы по работе в Excel», оплата тут скорее поощрение, не думаю, что задана сильно сложная, но если всё же вопрос категоричен, прошу модерацию сильно не злиться на меня и перенести тему в раздел фриланс. Благодарю за понимание!

 

Ответить

xssdem

Дата: Пятница, 19.06.2020, 13:33 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Да ещё нюанс, плавность снижения увеличивается по мере уменьшения процента, чем ниже процент тем он снижается плавнее, это тоже можно привязать на коэффициент

 

Ответить

AlexM

Дата: Пятница, 19.06.2020, 13:47 |
Сообщение № 5

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

на сколько прибыль больше чем заданная единица

Прибыль/Базовая единица, а у вас наоборот и еще деленное на 10.
Про плавность лучше показать на примере. как влияет 1-10 на Прибыль/Базовая единица?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

Pelena

Дата: Пятница, 19.06.2020, 14:04 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

перенести тему в раздел фриланс

Перенесла


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

xssdem

Дата: Пятница, 19.06.2020, 15:34 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Про плавность лучше показать на примере. как влияет 1-10 на Прибыль/Базовая единица?

Жду вариантов и примеров от исполнителя! Самому пока не понятны рамки, поэтому и нужен коэффициент, который скорее всего и будет зафиксирован после тестирования (зависит от рыночных факторов)

Сообщение отредактировал xssdemПятница, 19.06.2020, 15:40

 

Ответить

AlexM

Дата: Пятница, 19.06.2020, 16:22 |
Сообщение № 8

Группа: Друзья

Ранг: Участник клуба

Сообщений: 4257


Репутация:

1046

±

Замечаний:
0% ±


Excel 2003

Помощь по Excel — это когда ваши вычисления вручную переводят на язык формул под Excel.
Пока не понятно как отношение Прибыль/Базовая единица может плавно меняться еще от чего-то.
Прибыль фактически может быть как меньше, так и больше Базовой единицы.
Например от в два раза меньше (-50%) и до в два раза больше (+100%).
В задании писали о 4% и 10% Что с этими процентами делать? Коэффициент 1-10 к чему пристроить?



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.

 

Ответить

xssdem

Дата: Понедельник, 22.06.2020, 10:33 |
Сообщение № 9

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Если прибыль меньше базовой единицы, то процент будет не больше 10
Процент это и есть искомое значение, коэффициент 1 — 10 нужен для задания плавности снижения процента, но есть нюанс что чем ниже процент тем плавнее он уменьшается, 4-10% это вилка, 4 — это минимальное значение. Коэффициент влияет на плавность снижения и на максимальную сумму прибыли.

Например от в два раза меньше (-50%) и до в два раза больше (+100%).

Вот как раз для этого мы и задаём значение коэффициента, прибыль может быть и 150% относительно базовой единицы.

 

Ответить

If your Excel worksheet includes calculations that are based on a changing range of cells, use the SUM and OFFSET functions together in a SUM OFFSET formula to simplify the task of keeping the calculations up to date.

Instructions in this article apply to Excel for Microsoft 365, Excel 2019, Excel 2016, Excel 2013, and Excel 2010.

Create a Dynamic Range With the SUM and OFFSET Functions

If you use calculations for a period of time that continually changes — such as determining sales for the month — use the OFFSET function in Excel to set up a dynamic range that changes as each day’s sales figures are added.

By itself, the SUM function can usually accommodate the insertion of new cells of data into the range being summed. One exception occurs when the data is inserted into the cell where the function is currently located.

In the example below, the new sales figures for each day are added at the bottom of the list, forcing the total to continually shift down one cell each time as the new data is added.

To follow along with this tutorial, open a blank Excel worksheet and enter the sample data. Your worksheet doesn’t need to be formatted like the example, but be sure to enter the data in the same cells.

If only the SUM function is used to total the data, the range of cells used as the function argument would need to be modified each time new data is added.

By using the SUM and OFFSET functions together, the range that is totaled becomes dynamic and changes to accommodate new cells of data. The addition of new cells of data does not cause problems because the range continues to adjust as each new cell is added.

Syntax and Arguments

In this formula, the SUM function is used to total the range of data supplied as the argument. The start point for this range is static and is identified as the cell reference to the first number to be totaled by the formula.

The OFFSET function is nested inside the SUM function and creates a dynamic endpoint to the range of data totaled by the formula. This is accomplished by setting the endpoint of the range to one cell above the location of the formula.

The formula syntax is:

=SUM(Range Start:OFFSET(Reference,Rows,Cols))

The arguments are:

  • Range Start: The starting point for the range of cells that will be totaled by the SUM function. In this example, the starting point is cell B2.
  • Reference: The required cell reference used to calculate the range endpoint. In the example, the Reference argument is the cell reference for the formula because the range ends one cell above the formula.
  • Rows: The number of rows above or below the Reference argument used in calculating the offset is required. This value can be positive, negative, or set to zero. If the offset location is above the Reference argument, the value is negative. If the offset is below, the Rows argument is positive. If the offset is located in the same row, the argument is zero. In this example, the offset begins one row above the Reference argument, so the value for the argument is negative one (-1).
  • Cols: The number of columns to the left or right of the Reference argument used to calculate the offset. This value can be positive, negative, or set to zero. If the offset location is to the left of the Reference argument, this value is negative. If the offset is to right, the Cols argument is positive. In this example, the data being totaled is in the same column as the formula, so the value for this argument is zero.

Use the SUM OFFSET Formula to Total Sales Data

This example uses a SUM OFFSET formula to return the total for the daily sales figures listed in column B of the worksheet. Initially, the formula was entered into cell B6 and totaled the sales data for four days.

The next step is to move the SUM OFFSET formula down one row to make room for the fifth day’s sales total. This is accomplished by inserting a new row 6, which moves the formula to row 7.

As a result of the move, Excel automatically updates the Reference argument to cell B7 and adds cell B6 to the range summed by the formula.

  1. Select cell B6, which is the location where the formula results will initially display.

  2. Select the Formulas tab of the ribbon.

  3. Choose Math & Trig.

  4. Select SUM.

  5. In the Function Arguments dialog box, place the cursor in the Number1 text box.

  6. In the worksheet, select cell B2 to enter this cell reference in the dialog box. This location is the static endpoint for the formula.

  7. In the Function Arguments dialog box, place the cursor in the Number2 text box.

  8. Enter OFFSET(B6,-1,0). This OFFSET function forms the dynamic endpoint for the formula.

  9. Select OK to complete the function and close the dialog box. The total appears in cell B6.

Add the Next Day’s Sales Data

To add the next day’s sales data:

  1. Right-click the row header for row 6.

  2. Select Insert to insert a new row into the worksheet. The SUM OFFSET formula moves down one row to cell B7 and row 6 is now empty.

  3. Select cell A6 and enter the number 5 to indicate that the sales total for the fifth day is being entered.

  4. Select cell B6, enter $1458.25, then press Enter.

  5.  Cell B7 updates to the new total of $7137.40.

When you select cell B7, the updated formula appears in the formula bar.

=SUM(B2:OFFSET(B7,-1,0))

The OFFSET function has two optional arguments: Height and Width, which were not used in this example. These arguments tell the OFFSET function the shape of the output in terms of the number of rows and columns.

By omitting these arguments, the function uses the height and width of the Reference argument instead, which, in this example is one row high and one column wide.

Thanks for letting us know!

Get the Latest Tech News Delivered Every Day

Subscribe

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

1 Простое протягивание формулы

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

  • В первую ячейку с одной из сторон (например, сверху) надо записать нужную формулу и нажать Enter.
  • После появления рассчитанного по формуле значения навести курсор в нижний правый угол ячейки. Подождать, пока толстый белый крестик не превратиться в тонкий черный.
  • Нажать на крестик и, удерживая его, протянуть формулу в нужном направлении. В указанном примере — вниз.

Аргументы в формуле будут изменяться соответственно новому расположению. И если в самой первой ячейке это были F7 и G7, в последней позиции столбца это будет уже F12 и G12. Соответственно, если начинать распространять формулы по строкам, изменяться будут не цифры, а буквы в обозначениях ячеек.

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

2 Быстрое автозаполнение

Еще один способ в Excel протянуть формулу до конца столбца с более высокой по сравнению с первой методикой скоростью. Требует от пользователя применить такие действия:

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

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

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

  • Excel: 10 формул для работы в офисе

3 Протягивание без изменения ячеек в формуле

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

Для распределения без изменения адреса ячейки выполняются те же действия, что и при обычном протягивании или автоматическом копировании. Но при вводе формулы следует зафиксировать адреса, которые не будут меняться. Для этого используются символы доллара — $. Если в каждом новом пункте столбца при расчетах используется одна и та же ячейка, значки надо будет поставить и перед номером строки, и перед литерой, которая указывает на колонку. Как в примере: $G$6.

Ставить знак $ перед названием только строки или столбца при распределении функции не имеет смысла. Потому что, когда формула протягивается, в ней автоматически меняются только нужные части аргументов. Для столбцов это будут номера строк, для строк — названия колонок.

4 Простое копирование

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

  • Записать в одну из крайних ячеек строки или столбца нужную формулу и нажать Enter.
  • Скопировать значение функции — с помощью контекстного меню, иконки на панели или комбинации клавиш Ctrl + C.
  • Установить курсор в противоположную часть столбца или строки.
  • Нажать на клавиши Ctrl + Shift + «Стрелка вверх». Результатом становится выделение нужного диапазона, даже если на этом участке столбца будет несколько сотен или тысяч пунктов.
  • Вставить формулу. Самый простой способ сделать это — нажать комбинацию Ctrl + V.

Результатом будет такое же распределение функции по столбцу, как и при использовании способа №2. Но в отличие от него здесь можно выделить только часть диапазона. Или, наоборот, продлить такое протягивание дальше даже при наличии пустых строк. Правда, во втором случае лишнее значение придется удалить вручную.

Эта небольшая хитрость подходит и для распределения вдоль строки. В этом случае вместо комбинации Ctrl + Shift + «Стрелка вверх» придется нажать Ctrl + Shift + «Стрелка влево» (или вправо, если копируемая формула находится в крайнем левом столбце).

  • Как в Экселе посчитать сумму определенных ячеек

5 Протягивание формул в таблице Excel

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

Для преобразования в табличную форму достаточно выделить одну из ячеек и нажать комбинацию Ctrl + T, чтобы вызвать диалоговое окно и указать диапазон данных таблицы.
Перед тем, как протянуть формулу в Excel, достаточно всего лишь ввести нужную функцию в самой верхней строчке таблицы и нажать Enter. Способ работает только при отсутствии других значений в столбце с формулой.

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

Читайте также:

  • Лучшие веб-камеры для дома и офиса: рейтинг 2021 года=«content_internal_link»>
  • Нумерация страниц в Опен Офис: простая инструкция=«content_internal_link»>

Like this post? Please share to your friends:
  • Плагин для подписания эцп word
  • Плавающая таблица в excel
  • Плагин excel на своем сайте
  • Плагин для конвертации pdf в word
  • Плавающая строка в word