Нет функции послед excel

Функция ПОСЛЕД (на время анонса — ПОСЛЕДОВ) позволяет создать список последовательных чисел в массиве, например 1, 2, 3, 4. Фактически данная функция предлагает более широкие возможности стандартного продления ряда автозаполнением.

Описание функции ПОСЛЕД

Функция ПОСЛЕД является одной из семи функций, которые Microsoft анонсировала 24 сентября 2018 года вместе с революционным нововведением использования динамических массивов в Excel. Данная функция, как и остальные 6, и возможность использования динамических массивов, не должна быть доступна пользователям, купившим Office 2019 и, тем более, более ранним версиям.

Воспользоваться новыми возможностями смогут пользователи с подпиской Office 365, а в будущем пользователи Office 2021 (следующей версией, которая следует за Office 2019), если к тому времени Microsoft попросту не оставит только вариант с подпиской.

Синтаксис

=ПОСЛЕД(строки;[столбцы];[начало];[шаг])

Аргументы

строкистолбцыначалошаг

Обязательный. Количество возвращаемых строк

Не обязательный. Количество возвращаемых столбцов

Не обязательный. Первое число в последовательности

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

Замечания

  • Любому отсутствующему необязательному аргументу по умолчанию присваивается значение 1.
  • Массив может рассматриваться как строка со значениями, столбец со значениями или комбинация строк и столбцов со значениями. В приведенном выше примере массивом для формулы ПОСЛЕД является диапазон C1:G4.

Пример

Видео работы функции

Дополнительные материалы

Файл из видео.

Microsoft добавила динамические массивы в Excel и новые функции.

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android Еще…Меньше

Функция ПОСЛЕДОВ позволяет создать список последовательных чисел в массиве, например 1, 2, 3, 4.

В приведенном ниже примере создан массив из 4 строк и 5 столбцов с помощью формулы =ПОСЛЕДОВ(4;5).

Пример использования функции SEQUENCE с массивом 4 x 5

=ПОСЛЕДОВ(строки;[столбцы];[начало];[шаг])

Аргумент

Описание

строки

Обязательный

Количество возвращаемых строк

[столбцы]

Необязательный

Количество возвращаемых столбцов

[начало]

Необязательный

Первое число в последовательности

[шаг]

Необязательный

Величина приращения каждого последующего значения в массиве

Примечания: 

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

  • Массив может рассматриваться как строка со значениями, столбец со значениями или комбинация строк и столбцов со значениями. В приведенном выше примере массивом для формулы ПОСЛЕДОВ является диапазон C1:G4.

  • Функция ПОСЛЕДОВ возвращает массив, который будет рассеиваться, если это будет конечным результатом формулы. Это означает, что Excel будет динамически создавать соответствующий по размеру диапазон массива при нажатии клавиши ВВОД. Если ваши вспомогательные данные хранятся в таблице Excel, тогда массив будет автоматически изменять размер при добавлении и удалении данных из диапазона массива, если вы используете структурированные ссылки. Дополнительные сведения см. в статье Поведение рассеянного массива.

  • Приложение Excel ограничило поддержку динамических массивов в операциях между книгами, и этот сценарий поддерживается, только если открыты обе книги. Если закрыть исходную книгу, все связанные формулы динамического массива вернут ошибку #ССЫЛКА! после обновления.

Пример

Ниже приведен пример быстрого создания набора данных с использованием функции ПОСЛЕДОВ совместно с функциями ТЕКСТ, ДАТА, ГОД и СЕГОДНЯ, позволяющий получить динамический список месяцев для строки заголовка, в котором исходной датой всегда будет текущий год. Наша формула: =ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()),ПОСЛЕДОВ(1,6),1),»mmm»).

Использование функции ПОСЛЕДОВ с функциями ТЕКСТ, ДАТА, ГОД и СЕГОДНЯ для создания динамического списка месяцев для строки заголовка.

Ниже приведен пример использования в функции ПОСЛЕДОВ вложенных функций ЦЕЛОЕ и СЛЧИС для создания массива из 5 строк и 6 столбцов со случайным набором возрастающих целых чисел. Наша формула: =ПОСЛЕДОВ(5,6,ЦЕЛОЕ(СЛЧИС()*100),ЦЕЛОЕ(СЛЧИС()*100)).

Пример использования функции ПОСЛЕДОВ с вложенными функциями ЦЕЛОЕ и СЛЧИС для создания примера набора данных

Кроме того, можно использовать формулу =ПОСЛЕДОВ(5;1;1001;1000), чтобы создать последовательный список кодов Главной книги (GL) в примерах.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Функция ФИЛЬТР

Функция СЛУЧМАССИВ

Функция СОРТ

Функция СОРТПО

Функция УНИК

Ошибки #ПЕРЕНОС! в Excel

Динамические массивы и поведение массива с переносом

Оператор неявного пересечения: @

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

Обновлено: 15.04.2023

Эта статья является логическим продолжением предыдущего материала про новые динамические массивы (ДМ), появившиеся в Excel в Office 365. Если вы ещё с не ознакомились (кому лень читать — там есть видео), то очень советую сделать это сейчас, чтобы понимать о чём, собственно, идёт речь и как заполучить все эти радости в вашем Excel.

Обновление Office 365, которое подарило Microsoft Excel новый вычислительный движок с поддержкой динамических массивов, также добавило к нашему арсеналу 7 новых функций, заточенных специально для работы с массивами. Про три самых важных функции: СОРТ (SORT) , ФИЛЬТР (FILTER) и УНИК (UNIQUE) я уже писал, а в этой статье хотел разобрать ещё одну весьма приятную обнову — функцию ПОСЛЕД (SEQUENCE) .

Обманчивая простота

Эта функция предназначена для совершенно, на первый взгляд, банальной задачи — генерации числовых последовательностей (рядов, арифметических прогрессий) с определённым шагом и от заданного стартового значения. Синтаксис функции предельно прост:

=ПОСЛЕД( строки ; [столбцы] ; [начало] ; [шаг] )

  • строки — число строк в диапазоне, который надо заполнить числовой последовательностью — это единственный обязательный аргумент;
  • с толбцы — число столбцов в диапазоне (если нужно сгенерить двумерный массив)
  • н ачало — стартовое значение (если не задано, то 1)
  • шаг — шаг изменения ряда (если не задан, то 1)

Последние два аргумента могут быть и дробными, и отрицательными числами при необходимости.

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

Пример 1. Посимвольный разбор текста

Уверен, вы не раз встречались при заполнении бланков и всевозможных анкет с необходимостью «распатронить» текст на отдельные символы по отдельным ячейкам. С нашей функцией ПОСЛЕД эта задача решается в два счёта:

Разделение текста на символы функцией ПОСЛЕД SEQUENCE

В английской версии это будет

Логика тут простая:

  • Сначала функция ПОСЛЕД формирует простой числовой ряд 1, 2, 3 . N, где N — длина исходного текста, определяемая функцией ДЛСТР (LEN) .
  • Затем функция ПСТР (MID) выдёргивает из исходного текста символы по очереди, используя сгенерированную последовательность как порядковый номер извлекаемого символа.

Для аналогичного разбора даты по ячейкам, придется добавить ещё функцию ТЕКСТ (TEXT) для преобразования даты в текст — иначе на выходе мы получим код даты, а не её саму в привычном виде. Ну, а длину в этом случае мы знаем заранее — 10 символов:

Разбор даты по ячейкам

Пример 2. Сумма каждой N-ой ячейки

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

Сумма каждой n-ой ячейки

Функция ПОСЛЕД (SEQUENCE) здесь генерит числовую последовательность номеров строк, откуда нам нужно взять данные: 5, 9, 13, 17, 21.

Затем функция ИНДЕКС (INDEX) вытаскивает значения по этим номерам из столбца А, и затем мы их суммируем с помощью СУММ (SUM) .

Пример 3. Трансформация столбца в таблицу

Самый красивый пример — преобразование столбца с данными в двумерную таблицу одной короткой формулой:

Преобразование столбца в таблицу

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

Формируем номера строк

Чтобы не привязываться к жёстко прописанному количеству блоков (людей) в таблице — мы используем функцию СЧЁТЗ (COUNTA) , чтобы вычислить их количество.

А затем мы извлекаем данные из левой таблицы по номеру строки с помощью функции ИНДЕКС (INDEX) . (Если вы с ней ещё, не дай бог, не знакомы, то обязательно посмотрите эту статью).

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

Пример 4. Многоуровневая нумерация

Это пример на перезапускающиеся числовые последовательности. В реальной жизни такое часто встречается, например, во вложенной нумерации пунктов 1.1 — 1.2 — 1.3 и т.д.

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

График рабочих смен

Для столбца с номером смены нам нужна последовательность с повторениями каждого числа ряда (номер смены) заданное количество раз (число сотрудников в смене). Это можно легко реализовать формулой:

Вычисляем номер смены

В английской версии это, соответственно :

  1. Функция ПОСЛЕД сначала генерирует числовую последовательность 1, 2, 3 .. 15 (общее число строк, равное произведению количества смен на количество людей в каждой смене)
  2. Мы делим эти числа на число людей в каждой смене и получаем последовательность дробных чисел: 0.2, 0.4, 0.6, 0.8, 1, 1.2 и т.д.
  3. Затем мы округляем эти дробные числа до ближайшего целого функцией ОКРУГЛВВЕРХ (ROUNDUP) .

Для столбца с номерами сотрудников внутри смены нам нужна формула чуть сложнее — с перезапускающейся каждые 5 ячеек заново последовательностью:

Перезапускающаяся последовательность

Здесь мы сначала вычисляем остаток от деления нашей последовательности 1,2,3. 15 на 5 с помощью функции ОСТАТ (MOD) :

Остатки от деления ряда

А затем заменяем нули на 5 — значение из ячейки B4 с помощью функции ЕСЛИ (IF) .

Дополнительно, можно подтянуть к нашему графику еще и имена сотрудников из списка с помощью уже знакомой нам функции ИНДЕКС (INDEX) :

Подтягиваем имена людей в рабочий график

Заключение и выводы

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

Если же вы пока ещё не получили обновление, которое добавляет в ваш Excel динамические массивы и эти новые функции, то когда придет время — вы будете готовы :)

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

Примечание: Маркер версии обозначает версию Excel, в которой она впервые появилась. В более ранних версиях эта функция отсутствует. Например, маркер версии 2013 означает, что данная функция доступна в выпуске Excel 2013 и всех последующих версиях.

Возвращает заданную дату в числовом формате.

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

Преобразует дату из текстового формата в числовой.

Преобразует дату в числовом формате в день месяца.

Excel 2013

ДНИ

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

Вычисляет количество дней между двумя датами на основе 360-дневного года.

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

Возвращает дату в числовом формате для последнего дня месяца, отстоящего вперед или назад на заданное число месяцев.

Преобразует дату в числовом формате в часы.

Excel 2013

НОМНЕДЕЛИ.ISO

Возвращает номер недели по ISO для заданной даты.

Преобразует дату в числовом формате в минуты.

Преобразует дату в числовом формате в месяцы.

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

Excel 2010

ЧИСТРАБДНИ.МЕЖД

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

Возвращает текущую дату и время в числовом формате.

Преобразует дату в числовом формате в секунды.

Возвращает заданное время в числовом формате.

Преобразует время из текстового формата в числовой.

Возвращает текущую дату в числовом формате.

Преобразует дату в числовом формате в день недели.

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

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

Excel 2010

РАБДЕНЬ.МЕЖД

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

Преобразует дату в числовом формате в год.

Возвращает долю года, которую составляет количество дней между начальной и конечной датами.

Важно: Вычисляемые результаты формул и некоторые функции листа Excel могут несколько отличаться на компьютерах под управлением Windows с архитектурой x86 или x86-64 и компьютерах под управлением Windows RT с архитектурой ARM. Подробнее об этих различиях.

Функция ПОСЛЕДОВ позволяет создать список последовательных чисел в массиве, например 1, 2, 3, 4.

В приведенном ниже примере создан массив из 4 строк и 5 столбцов с помощью формулы =ПОСЛЕДОВ(4;5).

Пример использования функции SEQUENCE с массивом 4 x 5

Примечание: В настоящее время эта функция доступна Microsoft 365 в Current Channel. С июля 2020 г. она будет доступна Microsoft 365 канала Semi-Annual Enterprise Channel. Дополнительные сведения о том, как функции для подписчиков Microsoft 365, см. в этой Microsoft 365.

=ПОСЛЕДОВ(строки;[столбцы];[начало];[шаг])

Количество возвращаемых строк

Количество возвращаемых столбцов

Первое число в последовательности

Величина приращения каждого последующего значения в массиве

Любому отсутствующему необязательному аргументу по умолчанию присваивается значение 1.

Массив может рассматриваться как строка со значениями, столбец со значениями или комбинация строк и столбцов со значениями. В приведенном выше примере массивом для формулы ПОСЛЕДОВ является диапазон C1:G4.

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

Пример

Ниже приведен пример быстрого создания набора данных с использованием функции ПОСЛЕДОВ совместно с функциями ТЕКСТ, ДАТА, ГОД и СЕГОДНЯ, позволяющий получить динамический список месяцев для строки заголовка, в котором исходной датой всегда будет текущий год. Наша формула: =ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()),ПОСЛЕДОВ(1,6),1),»mmm»).

Использование функции ПОСЛЕДОВ с функциями ТЕКСТ, ДАТА, ГОД и СЕГОДНЯ для создания динамического списка месяцев для строки заголовка.

Ниже приведен пример использования в функции ПОСЛЕДОВ вложенных функций ЦЕЛОЕ и СЛЧИС для создания массива из 5 строк и 6 столбцов со случайным набором возрастающих целых чисел. Наша формула: =ПОСЛЕДОВ(5,6,ЦЕЛОЕ(СЛЧИС()*100),ЦЕЛОЕ(СЛЧИС()*100)).

Пример использования функции ПОСЛЕДОВ с вложенными функциями ЦЕЛОЕ и СЛЧИС для создания примера набора данных

Кроме того, можно использовать формулу =ПОСЛЕДОВ(5;1;1001;1000), чтобы создать последовательный список кодов Главной книги (GL) в примерах.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

Это перевод главы книги Bill Jelen. Excel Dynamic Arrays Straight to the Point. К содержанию.

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

Использование СЕГОДНЯ() и ПОСЛЕД() для календаря

Допустим, вы используете СЕГОДНЯ() в качестве третьего аргумента функции ПОСЛЕД(). Тогда формула =ПОСЛЕД(6;7;СЕГОДНЯ()) в ячейке А4 вернет массив из 6 строк и 7 столбцов календаря, начинающегося сегодня:

Рис. 74. Использование СЕГОДНЯ() и ПОСЛЕД() для создания динамического календаря на ближайшие шесть недель

Добавьте формулу =ТЕКСТ(A4:G4; » ДДД » ) в ячейку А3 для заголовков дней недели. Обратите внимание, что эта формула разливается на 7 ячеек по горизонтали.

ТДАТА() и ПОСЛЕД() для вывода интервалов времени

Допустим вам нужно получить массив времени с интервалом 5 минут. Одна минута = 1/1440 суток. Поэтому, чтобы формула массива возвращала 5-минутные интервалы, используйте 1/288 в качестве аргумента шаг: =ПОСЛЕД(5;4;ТДАТА();1/288)

Рис. 75. 5-минутные интервалы, отсчитанные от текущего времени

Генерация последовательности букв алфавита

Рис. 76. Генерация последовательных букв с разделителем

Заметим, что ASCII коды принимают значения от 0 до 255, поэтому если ввести строчную я, и указать число букв более 1, функция вернет ошибку, т.к., после я символов ASCII нет.

Несколько наибольших значений диапазона

Если вам нужно вернуть N наибольших значений диапазона, введите требуемое число в G1. Формула в G2 вернет N наибольших чисел, автоматически расширив область результата:

Рис. 77. Возвращает N наибольших значений диапазона

Несколько наименьших значений диапазона с изменением направления вывода

Усложним задачу. Нужно вывести N наименьших значений, но расположить их не по вертикали, а по горизонтали. Первое, что напрашивается, поместить функцию НАИМЕНЬШИЙ() внутрь функции ТРАНСП(): =ТРАНСП((НАИМЕНЬШИЙ(A1:E8;ПОСЛЕД(G1)))).

Рис. 78. Вернуть N наименьших значений в горизонтальном направлении

Посмотрите еще раз на рис. 78. Формула в G2 использует ПОСЛЕД(4) для возврата вертикального массива, который затем превращается в горизонтальный с помощью ТРАНСП(). Так почему же сразу не вернуть горизонтальный массив!? Для этого используйте внутри функцию ПОСЛЕД(1;G1). Эта формула используется в ячейке G3, и она намного короче формулы в G2.

Обратите также внимание, как в ячейках G6, G7 и G11 выводится текст формул. Это делается с помощью функции Ф.ТЕКСТ(). На рис. 78 формула в G6 сама является функцией динамического массива! Функция Ф.ТЕКСТ() ожидала на вход скаляр, а получила массив G2:G3, и разлилась на две ячейки G6 и G7.

Имитация сводной таблицы диапазоном с тремя формулами

Как автор книги Сводные таблицы в Microsoft Excel, я люблю хорошую сводную таблицу. Но менеджер Microsoft проекта динамических диапазонов Джо Макдэйд и MVP Excel Роджер Говьер указали, что три формулы, вполне способны заменить сводную таблицу. При этом не будет потребности в обновлении.

Чтобы построить отчет:

Рис. 79. Замена сводной таблицы тремя формулами; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Отображение чисел в двоичном, восьмеричном или шестнадцатеричном виде

Если нужно представить десятичные числа в двоичном, восьмеричном или шестнадцатеричном виде, используйте функции ОСНОВАНИЕ() и ПОСЛЕД(). Формула в А4: =ОСНОВАНИЕ(ПОСЛЕД(B1);;). У функции ОСНОВАНИЕ() три аргумента. Первый число здесь представлен функцией ПОСЛЕД(B1), которая задает массив целых чисел от 1 до 16. Второй – основание, здесь это массив констант . Третий – мин_длина, здесь также массив констант . Работа этой формулы дает пример попарного подъема.

Рис. 80. Генерация двоичных, восьмеричных и шестнадцатеричных чисел

Суммирование длин текстовых строк большого числа ячеек

Используйте формулу =СУММ(ДЛСТР(A2:A12)). Теперь для ее ввода не требуется Ctrl+Shift+Enter.

Рис. 81. Проверка длины ваших твитов

Текст по столбцам

Эта сложная формула разработана Риком Ротстайном. Благодаря использованию функции ПОСЛЕД(), вы можете разбить текстовую строку на слова с использованием лишь одной формулы в В1.

Рис. 82. Функция ПОСЛЕД() облегчает синтаксический анализ

Суммирование всех ВПР

В старом Excel это можно было сделать только с помощью старинной функции ПРОСМОТР(). На самом деле, это была одна из двух причин, по которой пользователи Excel добирались до функции ПРОСМОТР(). С динамическими массивами вы можете использовать ВПР. Вы всё еще будете использовать старую функцию ПРОСМОТР, когда у вас вектор поиска и вектор результатов ориентированы в противоположных направлениях. Единственная формула в Е9 выполняет сначала расчет массива ВПР, а потом суммирует отдельные значения: =СУММ(ВПР(C2:C26;E1:F6;2)). Обратите внимание, что поиск ВПР ведет приблизительно – четвертый аргумент опущен.

Рис. 83. Вычисление всех ВПР и последующее их суммирование

Объединение имени и фамилии

Рис. 84. Объединение имени и фамилии и понижение регистра

Одна формула вместо таблицы данных «что если»

А в этом примере свойство трансляции (см. главу 9) используется для расчета ежемесячных платежей по автокредиту. Диапазон В4:F7 – динамический массив с единственной формулой в В4: =ПЛТ(C9/12;A4:A7;-B3:F3). Первый аргумент – процентная ставка за период. Обратите внимание, что используется простая относительная ссылка, так как не нужно протягивать формулу. Второй аргумент – общее число периодов выплаты по займу – вместо скаляра получает массив А4:А7. Третий аргумент – сумма кредита с обратным знаком – также вместо скаляра получает массив В3:F3. Благодаря трансляции Excel генерит массив из 4 строк и 5 столбцов и передает эти 20 значений в ПЛТ. Обратите внимание, условное форматирование отлично работает с динамическим массивом.

Рис. 85. Одна формула динамического массива в ячейке В4 заменяет таблицу данных

Условное форматирование на основе функции ЗНАК()

Рис. 86. Отражение динамики цен закрытия акций

Попарный подъем основан на двух массивах с одинаковым числом строк. В этом примере оба массива находятся в столбце B, но один начинается с B3 (для значения сегодняшнего дня), а другой – с B4 (для значения вчерашнего дня). На рисунке ниже показана формула в C3 в режиме редактирования, так что вы можете видеть два массива.

Рис. 87. Сравнение цен закрытия текущего и предыдущего дней

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

Рис. 88. Генератор анаграмм с использованием динамических массивов

Использование ссылки на массив как части ссылки

Создание элементов календаря

Рис. 90. Генерация элементов календаря

Прогнозирование

Рис. 91. Прогноз на следующие 12 месяцев

Более сложное прогнозирование

В предыдущем примере мы вычислили массив из 12 ячеек, каждая из которых содержала месячный прогноз. В примере ниже этот массив помещается в функцию СУММ, чтобы вернуть прогноз на год. Формула усложняется, и для ее понимания, аргументы в нотации разнесены на отдельные строки:

Рис. 92. Годовой прогноз продаж

Функция ПРЕДСКАЗ.ETS ожидает скаляр, но вместо этого вы передаете ей массив из 12 значений, используя ПОСЛЕД() внутри КОНМЕСЯЦА(). Прогноз основан на фактических данных за 2007–2018 гг., расположенных в ячейках В2:B145. Формулу из E2 можно скопировать в E3:E6.

Возможно, вы спросите: почему нужно пять отдельных формул? Нельзя ли заменить ссылку на год – D2 ссылкой на массив ПОСЛЕД(5;1;2019)? Ответ – нельзя. С двумя вертикальными массивами в одной функции Excel попытается сделать попарный подъем. Но массивы имеют разный размер, поэтому вернется ошибка.

Транспонирование одного массива для предотвращения попарного подъема

Одна из стратегий предотвращения попарного подъема состоит в том, чтобы расположить годы по горизонтали. Одна формула в E3 возвращает массив 12*5:

Рис. 93. Если разместить годы по горизонтали, формула работает

Прогнозирование всех пяти лет в одной формуле

Если вы передадите ПРЕДСКАЗ.ETS в функцию СУММ, то получите суммарный прогноз продаж на 60 месяцев:

Рис. 94. Одна формула возвращает 5-летний прогноз

Данные в строке (столбце) разместить в диапазоне

Рис. 95. Данные из строки в массив из трех столбцов

Использование динамических массивов для зависимой проверки

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

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

      

  • Какая последняя версия bios gigabyte
  •   

  • Как скрыть кнопку visual studio
  •   

  • Adobe запрашивает серийный номер
  •   

  • Rss каналы в outlook что это
  •   

  • Как сделать организационную диаграмму в ворде

 

Acid Burn

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

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

Всем привет!
Что-то замкнуло меня с созданием диаграммы на основе формул.
— РЯД(;Лист1!$F$3:$F$12;Лист1!$G$3:$G$12;1) — работает.
— РЯД(;{1;2;3;4;5;6;7;8;9;10};{0,5;0,5;0,5;0,5;0,5;0,5;0,5;0,5;0,5;0,5};1) — работает.
— РЯД(;ТРАНСП(ПОСЛЕД(10));ТРАНСП(ПОСЛЕД(10;;$D$29;0));1) — ожидаемо не работает.
Функция

ПОСЛЕД

есть только в Office 365 и OneDrive — желательно бы заменить…
Вот только как, сходу не соображу.

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

  • Книга1.xlsb (18.71 КБ)

 

buchlotnik

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

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

Excel 365 Бета-канал

#2

26.05.2020 13:40:18

X:

Код
=СТРОКА(Лист1!$A$1:$A$10)

Y:

Код
 =Лист1!$D$29*X^0

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

  • Книга1.xlsb (22.9 КБ)

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Acid Burn

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

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

buchlotnik, спасибо! Очень элегантное решение — классно и одновременно просто, жаль я сам не догадался. Вопрос снят. )

 

Acid Burn,
а такая штука для чего может понадобиться?

 

Acid Burn

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

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

bagdasarov86

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

buchlotnik

— выручил.

Изменено: Acid Burn26.05.2020 23:51:47

 

buchlotnik

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

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

Excel 365 Бета-канал

#6

27.05.2020 00:40:20

и кстати X так наверное правильнее задавать (мало ли, сколько точек понадобится):

Код
=СТРОКА(Лист1!$A$1:ИНДЕКС(Лист1!$A:$A;Лист1!$B$1))

Цитата
bagdasarov86 написал:
для чего может понадобиться?

я такое при построении контрольных карт Шухарта использовал

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

  • Книга2.xlsm (14.06 КБ)

Изменено: buchlotnik27.05.2020 01:29:18

Соблюдение правил форума не освобождает от модераторского произвола
<#0>

 

Acid Burn

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

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

#7

27.05.2020 01:48:02

buchlotnik

Это я уже подкорректировал. Точнее по запарке вообще неправильно задачу поставил — создал пример с горизонтальной линией, а надо было с вертикальной. ))) Принцип понял, под задачу поправил — вроде всё учёл, всё работает. Ещё раз спасибо! Пока-пока!

Это перевод главы книги Bill Jelen. Excel Dynamic Arrays Straight to the Point. К содержанию.

Генерация диапазона последовательных чисел

У меня есть классный трюк.[1] На семинарах Power Excel я показываю, как можно получить последовательность натуральных чисел. Вводите в ячейку число 1, выделяете ячейку, нажимаете Ctrl, кликаете на маркер в правом нижнем углу, и протаскиваете его вниз. Excel заполняет ячейки числами 2, 3, 4, … Когда я впервые увидел функцию ПОСЛЕД, я подумал, что она была создана для тех, кто не знаком с этим трюком. Но, как вы увидите ниже и в главе 11, функция ПОСЛЕД является ключом к превращению многих других функций Excel в функции массива.

Функция ПОСЛЕД() генерирует массив чисел. Ее синтаксис

Рис. 34. Синтаксис функция ПОСЛЕД()

Скачать заметку в формате Word или pdf, примеры в формате Excel

Если ПОСЛЕД(10) генерирует столбец чисел от 1 до 10, то более сложная формула =ПОСЛЕД(10;3;5;10), позволяет создать массив из 10 строк, 3 столбцов, начиная с числа 5, с шагом 10:

Рис. 35. Генерация последовательности чисел

Использование ПОСЛЕД внутри других функций

Допустим вы взяли кредит с погашением на основе аннуитетных платежей (т.е., каждый период вы платите одну и туже сумму). Разовый платеж идет в погашение основного долга и процентов. Ваша задача – рассчитать ту часть, которая пойдет в погашение процентов, за первые пять период. В предыдущих версиях Excel вы бы использовали табличку, с явным указанием номера платежа в ячейках А6:А10:

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

Или вы могли бы использовать счетчик СТРОКА(1:1) внутри формулы: =ПРПЛТ($B$3/12;СТРОКА(1:1);$B$2;$B$1).

Сейчас достаточно ввести одну формулу в ячейку D6, и формула динамического массива разольется в столбец из пяти строк. Если нужен результат по первым шести периодам, просто измените аргумент функции ПОСЛЕД(6).

Рис. 37. Пять значений, как результат одной формулы динамического массива

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

Чтобы получить сумму процентных платежей за первые пять периодов (без вывода значения каждого платежа), «оберните» предыдущую формулу в функцию суммы: =СУММ(ПРПЛТ($B$3/12;ПОСЛЕД(5);$B$2;$B$1))

Более того, например, вы хотите узнать, сколько процентов вы будете платить в течение 4-го года погашения кредита. Для этого вам не нужно строить таблицу. Используйте в формуле аргументы, определяющие платежи с 37-го по 48-й: =СУММ(ПРПЛТ($B$3/12;ПОСЛЕД(12;1;37;1);$B$2;$B$1)). Здесь функция ПОСЛЕД(12;1;37;1) сгенерит один столбец из 12 строк, начинающихся со значения 37 с шагом 1.

Римские числа

Благодаря функциям динамического массива практически каждая формула Excel теперь может стать формулой массива. И это без необходимости использования Ctrl + Shift + Enter! Как вам такой массив римских чисел!?

Рис. 38. Римские числа, полученные с помощью одной формулы массива

Для тех, кто не знаком с творчеством автора, Билл Джелен любит использовать римские числа в ироническом контексте))

Рис. 39. Некоторые обложки книг Билла Джелена

[1] Повествование от первого лица – автора книги Билла Джелена.

Понравилась статья? Поделить с друзьями:
  • Нет функции норма в excel
  • Нет функции интерполяция excel
  • Нет функции еслимн excel 2019
  • Нет функции еслимн excel 2016
  • Нет функции гпр в excel