Функция послед excel 2016

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

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

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

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

Синтаксис

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

Аргументы

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

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

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

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

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

Замечания

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

Пример

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

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

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

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

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

Начиная с обновления для Microsoft 365 за сентябрь 2018 г., любая формула, которая может возвращать несколько результатов, автоматически переносит их вниз или в соседние ячейки. Это изменение поведения также сопровождается несколькими новыми функциями динамического массива. Формулы динамического массива, независимо от того, используют ли они существующие функции или функции динамического массива, необходимо вводить только в одну ячейку, а затем подтверждать, нажав ВВОД. Ранее в устаревших формулах массива сначала требовалось выбрать весь выходной диапазон, а затем подтвердить формулу с помощью CTRL+SHIFT+ВВОД. Их часто называют формулами CSE.

Формулы массива позволяют выполнять сложные задачи, например следующие:

  • Быстро создавать образцы наборов данных.

  • Подсчитывать числа знаков в диапазоне ячеек.

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

  • Суммировать всех n-х значения в диапазоне значений.

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

Скачивание примеров

Скачать образец книги со всеми примерами формул массива из этой статьи.

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

  • Формула массива с несколькими ячейками

    Функция массива с несколькими ячейками в ячейке H10 =F10:F19*G10:G19 для вычисления количества машин, проданных по цене за единицу

  • Здесь мы вычисляем совокупный объем продаж купе и седанов для каждого продавца, вводя =F10:F19*G10:G19 в ячейку H10.

    При нажатии клавиши ВВОД вы увидите, как результаты распределяются по ячейкам H10:H19. Обратите внимание, что диапазон переноса выделяется границей при выделении любой ячейки в пределах диапазона. Вы также можете заметить, что формулы в ячейках H10:H19 неактивны. Они нужны только для справки, поэтому, если вы хотите изменить формулу, вам нужно выбрать ячейку H10, в которой находится основная формула.

  • Формула массива с одной ячейкой

    Формула массива с одной ячейкой для вычисления общего итога с помощью =СУММ(F10:F19*G10:G19)

    В ячейке H20 образца книги введите или скопируйте и вставьте =СУММ(F10:F19*G10:G19), а затем нажмите ВВОД.

    В этом случае будет выполнено перемножение значений массива (диапазон ячеек F10–G19), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей.

    В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже. Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке H20 полностью независима от формулы с несколькими ячейками (формула в ячейках H10–H19). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце H, и это не повлияет на формулу в ячейке H20. Также может быть полезно иметь независимые итоги, как это, так как это помогает проверить точность результатов.

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

    • Согласованность    Если щелкнуть несколько ячеек ниже ячейки H10, вы увидите, что все они содержат одну и ту же формулу. Такая согласованность помогает обеспечить более высокую точность результатов.

    • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку H11 и нажмите клавишу DELETE. Excel не будет изменять выходные данные массива. Чтобы их изменить, необходимо выбрать левую верхнюю ячейку массива или ячейку H10.

    • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в примере с продажей автомобилей для вычисления результатов в столбце E используется одна формула массива. Если бы вы прибегли к обычным формулам (таким как =F10*G10, F11*G11, F12*G12 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов. Это не очень важно, но что, если вам необходимо суммировать тысячи строк? Тогда это может иметь большое значение.

    • Эффективность    Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(F10:F19*G10:G19) та же: =СУММ(F10*G10,F11*G11,F12*G12,F13*G13,F14*G14,F15*G15,F16*G16,F17*G17,F18*G18,F19*G19).

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

    • Ошибка #ПЕРЕНОС!    Динамические массивы ввели Ошибка #ПЕРЕНОС!, что означает, что предполагаемый диапазон переноса по какой-либо причине заблокирован. При устранении блока формула будет автоматически перенесены.

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5} или ={«Январь»;»Февраль»;»Март»}

Если элементы списка разделяются точками с запятой, будет создан горизонтальный массив (строка). Если элементы разделяются двоеточиями, будет создан вертикальный массив (столбец). Чтобы создать двумерный массив, следует разделить элементы строк точками с запятой, а строки — двоеточиями.

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

  • Создание горизонтальной константы

    Воспользуйтесь книгой из предыдущих примеров или создайте новую книгу. Выберете любую пустую ячейку и введите =ПОСЛЕД(1,5). Функция ПОСЛЕД создает массив из 1 строки на 5 столбцов, как ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание горизонтальной константы массива с помощью =ПОСЛЕД(1,5) или ={1,2,3,4,5}

  • Создание вертикальной константы

    Выберите любую пустую ячейку с помещением под ней и введите =ПОСЛЕД(5), или ={1;2;3;4;5}. Будет отображен следующий результат:

    Создание вертикальной константы массива с помощью =ПОСЛЕД(5) или ={1;2;3;4;5}

  • Создание двумерной константы

    Выберите любую пустую ячейку с помещением справа и введите =ПОСЛЕД(3,4). Вы получите следующий результат:

    Создание константы массива из 3 строк и 4 столбцов с помощью =ПОСЛЕД(3,4)

    Вы также можете ввести: или={1;2;3;4:5;6;7;8:9;10;11;12}, но обратите внимание, где вы ставите точки с запятой вместо запятых.

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

Вот пример использования констант массива в составе более крупной формулы. В примере книги перейдите к листу Константа в формуле или создайте новый лист.

В ячейке D9 мы ввели =ПОСЛЕД(1,5,3,1), но вы также можете ввести 3, 4, 5, 6 и 7 в ячейки A9:H9. В этом конкретном выборе числа нет ничего особенного, мы просто выбрали что-то другое, кроме 1-5.

В ячейке E11 введите =СУММ(D9:H9*ПОСЛЕДОВАТЕЛЬНОСТЬ(1,5)) или =СУММ(D9:H9*{1;2;3;4;5}). Формулы возвращают 85.

Использование констант массива в формулах. В этом примере мы использовали =СУММ(D9:H(*ПОСЛЕД(1,5))

Функция ПОСЛЕД создает эквивалент константы массива {1;2;3;4;5}. Поскольку Excel в первую очередь выполняется операции с элементами, заключенными в скобки, далее будут использоваться значения ячеек в D9: H9 и оператор умножения (*). На этом этапе формула выполнит умножение значений в сохраненном массиве на соответствующие значения в константе. Это эквивалент следующей формулы:

=СУММ(D9*1;E9*2,F9*3,G9*4;H9*5) или =СУММ(3*1,4*2,5*3,6*4,7*5)

В последнюю очередь выполняется сложение значений при помощи функции СУММ и возвращается 85.

Чтобы избежать использования сохраненного массива и полностью сохранить операцию в памяти, замените сохраненный массив другой константой массива:

=СУММ(ПО(1;5;3;1)*ПОСЛЕД(1,5)) или =СУММ({3;4;5;6;7}*{1;2;3;4;5})

Элементы, которые можно использовать в константах массива

  • Константы массива могут содержать числа, текст, логические значения (например, ИСТИНА и ЛОЖЬ) и значения ошибок, такие как #N/A. Можно использовать числа в целочисленном, десятичном или экспоненциальном формате. При добавлении текста требуется заключить его в кавычки («текст»).

  • Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

Выберите Формулы > Присвоить имена > Определить имена. В поле Имя введите Квартал 1. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):

={«Январь»;»Февраль»;»Март»}

Диалоговое окно должно выглядеть следующим образом:

Добавление именованной константы массива из "Формулы > Определенные имена > Диспетчер имен > Новое"

Нажмите кнопку ОК, выберите любую строку с тремя пустыми ячейками и введите =Квартал1.

Будет отображен следующий результат:

Использование именованной константы в формуле как =Квартал1, где Квартал1 был определен как ={"Январь","Февраль","Март"}

Если вы хотите, чтобы результаты переносились по вертикали, а не по горизонтали, можно использовать =ТРАНСП(Квартал1).

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

=ТЕКСТ(ДАТА(ГОД(СЕГОДНЯ()),ПОСЛЕД(1,12),1),»ммм»)

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

При этом функция ДАТА используется для создания даты на основе текущего года, функция ПОСЛЕД создает константу массива от 1 до 12 с января по декабрь, затем функция ТЕКСТ преобразует формат отображения в «ммм» (январь, февраль, март и т..д.). Если вы хотите отобразить полное название месяца, например «Январь», используйте «мммм».

При использовании именованной константы в качестве формулы массива не забудьте ввести знак равенства, например, =Квартал1, а не только в Квартал1. Если не сделать этого, массив будет интерпретирован как строка текста и формула не будет работать должным образом. Кроме того, помните, что можно сочетать функции, текст и числа. Все зависит от того, насколько креативно вы хотите все сделать.

В следующих ниже примерах демонстрируется несколько способов, при помощи которых можно применять константы массива в формулах массива. В некоторых из примеров используется функция ТРАНСП, которая выполняет преобразование строк в столбцы и наоборот.

  • Умножение каждого из элементов массива

    Введите =ПОСЛЕД(1,12)*2 или ={1;2;3;4:5;6;7;8:9;10;11;12}*2

    Вы также можете выполнить деление с помощью (/), сложить с помощью (+) и вычесть с помощью ().

  • Возведение в квадрат элементов массива

    Введите =ПОСЛЕД(1,12)^2 или ={1;2;3;4:5;6;7;8:9;10;11;12}^2

  • Поиск квадратного корня из квадрата элементов массива

    Введите =КОРЕНЬ(ПОСЛЕД(1,12)^2) или =КОРЕНЬ({1;2;3;4:5;6;7;8:9;10;11;12}^2)

  • Транспонирование одномерной строки

    Введите =ТРАНСП(ПОСЛЕД(1,5)) или =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

  • Транспонирование одномерного столбца

    Введите =ТРАНСП(ПОСЛЕД(5,1)) или =ТРАНСП({1:2:3:4:5})

    Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

  • Транспонирование двумерного массива

    Введите =ТРАНСП(ПОСЛЕД(3,4)) или =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

  • Создание массива на основе существующих значений

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

    Введите =ПОСЛЕД(3,6,10,10) или ={10;20;30;40;50;60:70;80;90;100;110;120:130;140;150;160;170;180}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 180, так как вы создаете массив чисел.

    Затем введите =D9# или =D9:I11 в пустую ячейку. Появится массив ячеек 3 x 6 с одинаковыми значениями, которые отображаются в D9:D11. Знак # называется оператором диапазона переноса, и это способ ссылки Excel на весь диапазон массива вместо того, чтобы вводить его.

    Используйте оператор рассеянного диапазона (#) для ссылки на существующий массив

  • Создание константы массива на основе существующих значений

    Вы можете получить результаты формулы перенесенного массива и преобразовать его в компоненты. Выберите ячейку D9 и нажмите клавишу F2, чтобы переключиться в режим правки. Затем нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения, которые Excel преобразует в константу массива. При нажатии клавиши ВВОД формула =D9# теперь должна быть ={10;20;30:40;50;60:70;80;90}.

  • Подсчет знаков в диапазоне ячеек

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

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

    =СУММ(LEN(C9:C13))

    В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66). Если вы хотите получить среднее количество символов, можно использовать:

    =СРЗНАЧ(ДЛСТР(C9:C13))

  • Содержимое самой длинной ячейки в диапазоне C9:C13

    =ИНДЕКС(C9:C13;ПОИСКПОЗ(МАКС(ДЛСТР(C9:C13)),ДЛСТР(C9:C13);0);1)

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

    Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек D2:D6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке D3.

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

    МАКС(ДЛСТР(C9:C13)

    из следующего массива:

    ДЛСТР(C9:C13)

    Аргумент типа соответствия в этом случае равен 0. Тип соответствия может иметь значение 1, 0 или -1.

    • Значение 1 возвращает наибольшее значение, которое не превышает искомое значение.

    • Значение 0 возвращает первое значение, равное искомому.

    • Значение -1 возвращает наименьшее из значений, которые превышают искомое значение или равно ему

    • Если тип соответствия не указан, предполагается, что он равен 1.

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

    Если вы хотите получить содержимое из наименьшей текстовой строки, замените значение МАКС в примере выше на МИН.

  • Поиск n наименьших значений в диапазоне

    В этом примере показано, как найти три наименьших значения в диапазоне ячеек, где массив образцов данных в ячейках B9:B18 был создан с помощью: =ЦЕЛОЕ(СЛМАССИВ(10,1)*100). Обратите внимание, что ФУНКЦИЯ СЛМАСИМВ — это переменная функция, поэтому вы будете получать новый набор случайных чисел при каждом вычислении в Excel.

    Формула массива Excel для поиска n-го наименьшего значения: =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9))

    Введите =НАИМЕНЬШИЙ(B9#,ПОСЛЕД(D9), =НАИМЕНЬШИЙ(B9:B18,{1:2:3})

    В этой формуле константа массива используется для трехкратной оценки функции НАИМЕНЬШИЙ и возврата 3 наименьших членов массива, содержащихся в ячейках B9:B18, где 3 — это переменное значение в ячейке D9. Чтобы найти дополнительные значения, можно увеличить значение в функции ПОСЛЕД или добавить дополнительные аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

    =СУММ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

    =СРЕДНИЙ(НАИМЕНЬШИЙ(B9#;ПОСЛЕД(D9))

  • Поиск n наибольших значений в диапазоне

    Чтобы найти наибольшие значения в диапазоне, следует заменить функцию НАИМЕНЬШИЙ функцией НАИБОЛЬШИЙ. Кроме того, в следующем примере используются функции СТРОКА и ДВССЫЛ.

    Введите =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))) или =НАИБОЛЬШИЙ(B9:B18,СТРОКА(ДВССЫЛ(«1:3»)))

    На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустое и введите:

    =СТРОКА(1:10)

    В результате выполнения этой формулы будет создан столбец, содержащий 10 последовательных целочисленных значений. Чтобы понять, где может возникнуть проблема, вставьте строку над диапазоном, содержащим формулу массива (то есть над строкой 1). Ссылки на строки будут изменены и в результате выполнения формулы теперь вы получите числа от 2 до 11. Чтобы избежать возникновения этой проблемы, следует добавить в формулу функцию ДВССЫЛ.

    =СТРОКА(ДВССЫЛ(«1:10»))

    В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений. Вы можете так же легко использовать функцию ПОСЛЕД:

    =ПОСЛЕД(10)

    Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(B9#,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей B9:B18 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек. Как и в примерах с функцией НАИМЕНЬШИЙ, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

  • Суммирование диапазона, который содержит значения ошибки

    При попытке просуммировать диапазон, содержащий значения ошибки (например, #ЗНАЧЕН), функция СУММ в Excel не работает. или #Н/Д. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки:

    Использование массивов для работы с ошибками. Например, =СУММ(ЕСЛИ(ЕОШИБКА(Данные),"",Данные) суммирует диапазон с именем "Данные" даже в случае, если он содержит ошибки как #ЗНАЧЕН! или #НД!.

  • =СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

    Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

  • Подсчет количества значений ошибки в диапазоне

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

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

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

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

    Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

    =СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

    Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

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

Можно использовать массивы для вычислений на основе конкретных условий. =СУММ(ЕСЛИ(Продажи>0,Продажи)) будет суммировать все значения больше 0 в диапазоне с именем "Продажи".

Например, в указанной ниже формуле массива суммируются только положительные целые числа в диапазоне с именем «Продажи», который представляет ячейки E9:E24 в приведенном выше примере:

=СУММ(ЕСЛИ(Продажи>0;Продажи))

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

Можно также выполнить суммирование значений с учетом нескольких условий. Например, эта формула массива вычисляет значения больше 0 И меньше 2500:

=СУММ((Продажи>0)*(Продажи<2500)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно суммировать значения, которые больше 0 ИЛИ меньше 2500:

=СУММ(ЕСЛИ((Продажи>0)+(Продажи<2500);Продажи))

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

В этом примере демонстрируется, как удалить нулевые значения из диапазона, чтобы затем вычислить для него среднее значение. В формуле используется диапазон данных с именем «Продажи».

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью. Например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов:

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

В результате выполнения формулы создается массив, имеющий такой же размер, что и сравниваемые диапазоны. Функция ЕСЛИ заполняет массив значениями 0 и 1 (0 для ячеек с различными значениями, 1 — для ячеек с одинаковыми значениями). Затем функция СУММ возвращает сумму значений в массиве.

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

Следующая формула массива возвращает номер строки максимального значения в диапазоне с именем «Данные», состоящем из одного столбца:

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

В результате выполнения функции ЕСЛИ создается новый массив, соответствующий диапазону с именем «Данные». Если соответствующая ячейка содержит максимальное значение в диапазоне, массив будет содержать номер этой строки. В обратном случае массив содержит пустую строку («»). Функция МИН использует полученный массив в качестве своего второго аргумента и возвращает наименьшее значение, соответствующее номеру строки с максимальным значением в диапазоне с именем «Данные». Если диапазон «Данные» содержит одинаковые максимальные значения, формула возвращает строку первого значения.

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

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

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

  • Формула массива с несколькими ячейками

Скопируйте всю таблицу, приведенную ниже, и вставьте ее на пустой лист книги, начиная с ячейки A1.

Продавец

Тип 
автомобиля

Число
проданных единиц

Цена
за единицу

Итоги
продаж

Зуева

Седан

5

33000

Купе

4

37000

Егоров

Седан

6

24000

Купе

8

21000

Еременко

Седан

3

29000

Купе

1

31000

Климов

Седан

9

24000

Купе

5

37000

Шашков

Седан

6

33000

Купе

8

31000

Формула (общий итог)

Общий итог

‘=СУММ(C2:C11*D2:D11)

=СУММ(C2:C11*D2:D11)

  1. Чтобы просмотреть итоги продаж автомобилей типа «купе» и «седан» для каждого продавца, выберите ячейки E2:E11, введите формулу =C2:C11*D2:D11, а затем нажмите клавиши CTRL+SHIFT+ВВОД.

  2. Чтобы просмотреть итоги всех продаж, выберите ячейку F11, введите формулу =СУММ(C2:C11*D2:D11), а затем нажмите клавиши CTRL+SHIFT+ВВОД.

При нажатии CTRL+SHIFT+ВВОД Excel заключает формулу в скобки ({ }) и вставляет экземпляр формулы в каждую ячейку выбранного диапазона. Это происходит очень быстро, поэтому в столбце E отображается сумма продаж каждого типа автомобиля для каждого продавца. Если вы выберете E2, а затем выберите E3, E4 и так далее, вы увидите, что отображается та же формула: {=C2:C11*D2:D11}

Итоговые суммы в столбце E, вычисленные с помощью формулы массива

  • Создание формулы массива с одной ячейкой

В ячейке D13 книги введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


=СУММ(C2:C11*D2:D11)

В этом случае будет выполнено перемножение значений массива (диапазон ячеек C2–D11), а затем — при помощи функции СУММ — сложение полученных результатов. Общий итог продаж составит 1 590 000 рублей. В данном примере демонстрируется, какие широкие возможности предоставляет данный тип формул. Например, предположим, что у вас есть 1000 строк с данными. Вы можете частично или полностью сложить их значения, создав формулу массива в отдельной ячейке, а не перетаскивать формулу на 1000 строк ниже.

Кроме того, обратите внимание на то, что формула с одной ячейкой в ячейке D13 полностью независима от формулы с несколькими ячейками (формула в ячейках E2–E11). Это указывает на еще одно преимущество использования формул массива — их гибкость. Можно изменить формулы в столбце E или вообще удалить этот столбец, и это не повлияет на формулу в ячейке D13.

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

  • Согласованность    Если щелкнуть несколько ячеек ниже ячейки E2, вы увидите, что все они содержат одну и ту же формулу. Такая согласованность помогает обеспечить более высокую точность результатов.

  • Безопасность    Компонент формулы массива с несколькими ячейками нельзя переписать. Например, щелкните ячейку E3 и нажмите клавишу DELETE. Вам придется выделить весь диапазон ячеек (E2–E11) и изменить формулу для всех ячеек либо оставить массив без изменений. В качестве меры безопасности необходимо нажать CTRL+SHIFT+ВВОД чтобы подтвердить изменение формулы.

  • Меньший размер файлов    Зачастую вместо нескольких промежуточных формул можно использовать одну формулу массива. Например, в книге для вычисления результатов в столбце E применяется всего лишь одна формула массива. Если бы вы прибегли к обычным формулам (таким как =C2*D2, C3*D3, C4*D4 и т. д.), вам понадобилось бы 11 разных формул для получения таких же результатов.

Как правило, в формулах массива используется стандартный синтаксис формулы. Они все начинаются со знака равенства (=) и могут содержать многие встроенные функции Excel. Ключевое отличие заключается в том, что при использовании формулы массива, чтобы ввести формулу необходимо ввести клавиши CTRL+SHIFT+ВВОД. В этом случае Excel заключит формулу массива в фигурные скобки — если вы введете фигурные скобки вручную, ваша формула будет преобразована в текстовую строку и не будет работать.

Функции массива могут быть эффективным способом создания сложных формул. Формула массива =СУММ(C2:C11*D2:D11) эквивалентна формуле =СУММ(C2*D2;C3*D3;C4*D4;C5*D5;C6*D6;C7*D7;C8*D8;C9*D9;C10*D10;C11*D11).

Важно: Нажимайте клавиши CTRL+SHIFT+ВВОД, когда хотите ввести формулу массива. Это правило действует для формул как с одной, так и с несколькими ячейками.

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

  • Выделите диапазон ячеек, который будет содержать результаты, прежде чем вводить формулу. Вы делали это при создании формулы массива с несколькими ячейками, выбирая ячейки E2–E11.

  • Содержимое отдельной ячейки в формуле массива изменить нельзя. Чтобы проверить это правило, выделите ячейку E3 в книге и нажмите клавишу DELETE. В приложении Excel отобразится сообщение о том, что нельзя изменить часть формулы массива.

  • Формулу массива можно переместить или удалить только целиком. Другими словами, чтобы уменьшить формулу массива, сначала нужно удалить существующую формулу, а затем создать новую формулу с самого начала.

  • Чтобы удалить формулу массива, выберите весь диапазон формул (например, E2:E11), а затем нажмите Удалить.

  • В формулу массива с несколькими ячейками нельзя вставить пустые строки (или удалить строки из нее).

Иногда возникает необходимость увеличить диапазон формулы массива. Выберите первую ячейку в существующем диапазоне массива и продолжайте, пока не выберете весь диапазон, на который вы хотите расширить формулу. Нажмите F2, чтобы изменить формулу, а затем нажмите CTRL+SHIFT+ВВОД, чтобы подтвердить формулу после изменения диапазона формул. Ключом является выбор всего диапазона, начиная с верхней левой ячейки массива. Верхняя левая ячейка — это ячейка, которая редактируется.

Несмотря на все преимущества формул массива, у них имеются свои недостатки.

  • Вы можете случайно забыть нажать сочетание клавиш CTRL+SHIFT+ВВОД. Это может случиться даже с самыми опытными пользователями Excel. Не забывайте нажимать это сочетание клавиш каждый раз при вводе или изменении формулы массива.

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

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

Константы массива являются компонентами формул массива. Константы массива создаются путем ввода списка элементов с последующей вставкой фигурных скобок ({ }) вокруг списка, следующим образом:

={1;2;3;4;5}

Теперь вы знаете о необходимости нажимать клавиши CTRL+SHIFT+ВВОД при создании формул массива. Константы массива являются составляющей формул массива, поэтому скобки вокруг них необходимо ввести вручную. Затем нажмите клавиши CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

Если элементы списка разделяются точками с запятой, будет создан горизонтальный массив (строка). Если элементы разделяются двоеточиями, будет создан вертикальный массив (столбец). Чтобы создать двумерный массив, следует разделить элементы строк точками с запятой, а строки — двоеточиями.

Так выглядит массив из одной строки: {1;2;3;4}. Массив из одного столбца: {1:2:3:4}. А вот массив из двух строк и четырех столбцов: {1;2;3;4:5;6;7;8}. В двухстрочном массиве первая строка представлена 1, 2, 3 и 5, 6, 7, а вторая строка — 8 и 4. Строки разделены двоеточием между записями 4 и 5.

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

В описанных ниже процедурах вы потренируетесь создавать горизонтальные, вертикальные и двумерные константы.

Создание горизонтальной константы

  1. На пустом листе выделите ячейки от A1 до E1 включительно.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4;5}

    В этом случае нужно ввести открывающую и закрывающую фигурные скобки ({ }), и Excel добавит второй набор.

    Будет отображен следующий результат:

    Горизонтальная константа массива в формуле

Создание вертикальной константы

  1. Выделите в книге столбец из пяти ячеек.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1:2:3:4:5}

    Будет отображен следующий результат:

    Вертикальная константа массива в формуле массива

Создание двумерной константы

  1. Выделите в книге блок ячеек из четырех столбцов и трех строк.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}

    Вы получите следующий результат:

    Двумерная константа массива в формуле массива

Использование констант в формулах

Рассмотрим простой пример с константами.

  1. Создайте новый лист в образце книги.

  2. В ячейку A1 введите значение 3, затем введите 4 в ячейку B1, 5 — в C1, 6 — в D1 и 7 — в E1.

  3. В ячейке A3 введите следующую формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    =СУММ(A1:E1*{1;2;3;4;5})

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

    Формула массива с константой массива

    В ячейке A3 появится значение 85.

В следующем разделе поясняется работа этой формулы.

Использованная формула состоит из нескольких частей.

Синтаксис формулы массива с константой массива

1. Функция

2. Сохраненный массив

3. Оператор

4. Константа массива

Последний элемент внутри скобок — это константа массива: {1;2;3;4;5}. Помните, что Excel не заключает константы массива в фигурные скобки, их нужно вводить вручную. Также помните о том, что после ввода константы в формулу массива необходимо нажать сочетание клавиш CTRL+SHIFT+ВВОД, чтобы завершить ввод формулы.

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

=СУММ(A1*1;B1*2;C1*3;D1*4;E1*5)

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

Чтобы избежать использования сохраненного массива и выполнять операцию исключительно в памяти, замените сохраненный массив другой константой массива:

=СУММ({3;4;5;6;7}*{1;2;3;4;5})

Для этого скопируйте функцию, выделите пустую ячейку в книге, вставьте формулу в строку формул, а затем нажмите клавиши CTRL+SHIFT+ВВОД. Получится тот же результат, что и в предыдущем упражнении, где использовалась формула массива:

=СУММ(A1:E1*{1;2;3;4;5})

Константы массива могут содержать числа, текст, логические значения (такие как ИСТИНА и ЛОЖЬ), а также значения ошибок (например, #Н/Д). Можно использовать числа в целочисленном, десятичном или экспоненциальном формате. При добавлении текста требуется заключить его в кавычки («).

Константы массива не могут содержать дополнительные массивы, формулы или функции. Другими словами, они могут содержать только текст или числа, разделенные запятыми или точками с запятой. При вводе такой формулы, как {1;2;A1:D4} или {1;2;СУММ(Q2:Z8)}, выводится предупреждение. Кроме того, числовые значения не могут содержать знаки процента, знаки валюты, запятые или кавычки.

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

  1. На вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
    Откроется диалоговое окно Задать имя.

  2. В поле Имя введите Квартал1.

  3. В поле Диапазон введите следующую константу (не забудьте ввести скобки вручную):


    ={«Январь»;»Февраль»;»Март»}

    Содержимое этого диалогового окна должно иметь следующий вид:

    Диалоговое окно "Изменение имени" с формулой

  4. Нажмите кнопку ОК, а затем выделите строку из трех пустых ячеек.

  5. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =Квартал1

    Будет отображен следующий результат:

    Именованный массив, введенный в виде формулы

При использовании именованной константы в качестве формулы массива не забудьте ввести знак равенства. Если не сделать этого, массив будет интерпретирован как строка текста и формула не будет работать должным образом. Кроме того, помните, что можно сочетать текст и числа.

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

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

  • Возможно, выделен диапазон ячеек, не соответствующий числу элементов в константе. Например, если выделен столбец из шести ячеек для использования в константе с пятью ячейками, в пустой ячейке будет выведено значение ошибки #Н/Д. Наоборот, если выделено слишком мало ячеек, значения, не имеющие соответствующей ячейки, будут пропущены.

В следующих ниже примерах демонстрируется несколько способов, при помощи которых можно применять константы массива в формулах массива. В некоторых из примеров используется функция ТРАНСП, которая выполняет преобразование строк в столбцы и наоборот.

Умножение каждого из элементов массива

  1. Создайте новый лист и выделите блок пустых ячеек из четырех столбцов и трех строк.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*2

Возведение в квадрат элементов массива

  1. Выделите блок пустых ячеек из четырех столбцов и трех строк.

  2. Введите указанную ниже формулу массива, а затем нажмите клавиши CTRL+SHIFT+ВВОД:


    ={1;2;3;4:5;6;7;8:9;10;11;12}*{1;2;3;4:5;6;7;8:9;10;11;12}

    Можно также ввести следующую формулу массива, где используется оператор возведения в степень (^):


    ={1;2;3;4:5;6;7;8:9;10;11;12}^2

Транспонирование одномерной строки

  1. Выделите столбец из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1;2;3;4;5})

    Даже если была введена горизонтальная константа массива, функция ТРАНСП преобразует константу массива в столбец.

Транспонирование одномерного столбца

  1. Выделите строку из пяти пустых ячеек.

  2. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =ТРАНСП({1:2:3:4:5})

Даже если была введена вертикальная константа массива, функция ТРАНСП преобразует константу массива в строку.

Транспонирование двумерного массива

  1. Выделите блок ячеек из трех столбцов и четырех строк.

  2. Введите указанную ниже константу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12})

    Функция ТРАНСП преобразует каждую из строк в последовательность столбцов.

В данном разделе приводятся примеры использования основных формул массива.

Создание массивов и констант массива на основе существующих значений

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

Создание массива на основе существующих значений

  1. На листе Excel выберите диапазон ячеек C8:E10, а затем введите такую формулу:


    ={10;20;30:40;50;60:70;80;90}

    Не забудьте ввести { (открывающую фигурную скобку) перед числом 10 и} (закрывающую фигурную скобку) после числа 90, так как вы создаете массив чисел.

  2. Нажмите клавиши CTRL+SHIFT+ВВОД, чтобы поместить этот массив чисел в диапазон ячеек C8:E10 с помощью формулы массива. На листе ячейки с C8 по E10 должны выглядеть следующим образом:

    10

    20

    30

    40

    50

    60

    70

    80

    90

  3. Выделите диапазон ячеек C1–E3.

  4. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД.


    =C8:E10

    В ячейках C1–E3 отобразится массив ячеек 3×3 с теми же значениями, что и в ячейках C8–E10.

Создание константы массива на основе существующих значений

  1. Выделите диапазон ячеек C1:C3 и нажмите клавишу F2, чтобы перейти в режим правки. 

  2. Нажмите клавишу F9, чтобы преобразовать ссылки на ячейки в значения. Значения будут преобразованы в константы массива. Теперь формула должна быть ={10;20;30:40;50;60:70;80;90}.

  3. Нажмите сочетание клавиш CTRL+SHIFT+ВВОД, чтобы ввести константу массива в качестве формулы массива.

Подсчет знаков в диапазоне ячеек

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

  1. Скопируйте всю таблицу и вставьте ее на лист, начиная с ячейки A1.

    Данные

    Это

    группа ячеек,

    собранных вместе,

    чтобы составить

    единое предложение.

    Общее количество символов в диапазоне ячеек A2:A6

    =СУММ(ДЛСТР(A2:A6))

    Содержимое ячейки с наибольшим количеством символов (A6)

    =ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

  2. Выберите ячейку A8 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть общее количество символов в диапазоне ячеек A2:A6 (66).

  3. Выберите ячейку A10 и нажмите клавиши CTRL+SHIFT+ВВОД, чтобы увидеть содержимое ячейки с наибольшим количеством символов в диапазоне A2:A6 (ячейка A3).

Приведенная ниже формула используется в ячейке A8 для подсчета общего количества символов (66) в ячейках A2–A6.


=СУММ(ДЛСТР(A2:A6))

В данном случае функция ДЛСТР возвращает длину каждой текстовой строки в каждой из ячеек диапазона. Затем функция СУММ складывает эти значения и выводит полученный результат (66).

Поиск n наименьших значений в диапазоне

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

  1. Введите случайные числа в ячейки A1:A11.

  2. Выделите ячейки от C1 до C3. Этот набор ячеек будет содержать результаты, возвращенные формулой массива.

  3. Введите указанную ниже формулу, а затем нажмите сочетание клавиш CTRL+SHIFT+ВВОД:


    =НАИМЕНЬШИЙ(A1:A11,{1:2:3})

В этой формуле используется константа массива, при помощи которой три раза выполняется функция НАИМЕНЬШИЙ, в результате чего возвращаются три элемента массива, находящегося в ячейках A1:A10, которые имеют наименьшие значения (1, 2 и 3 по возрастанию). Чтобы найти дополнительные значения, следует добавить аргументы в константу. С этой формулой также используются дополнительные функции, например СУММ или СРЗНАЧ. Например:

=СУММ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

=СРЗНАЧ(НАИМЕНЬШИЙ(A1:A10,{1;2;3})

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

Чтобы найти наибольшие значения в диапазоне, следует заменить функцию НАИМЕНЬШИЙ функцией НАИБОЛЬШИЙ. Кроме того, в следующем примере используются функции СТРОКА и ДВССЫЛ.

  1. Выделите ячейки от D1 до D3.

  2. В строке формул введите указанную ниже формулу, а затем нажмите клавиши CTRL+SHIFT+ВВОД.


    =НАИБОЛЬШИЙ(A1:A10;СТРОКА(ДВССЫЛ(«1:3»)))

На этом этапе может быть полезно ознакомиться с функциями СТРОКА и ДВССЫЛ. При помощи функции СТРОКА можно создать массив последовательных целых чисел. Например, выберите пустой столбец из 10 ячеек в книге практики, введите эту формулу массива и нажмите CTRL+SHIFT+ВВОД:


=СТРОКА(1:10)

В результате выполнения этой формулы будет создан столбец, содержащий 10 последовательных целочисленных значений. Чтобы понять, где может возникнуть проблема, вставьте строку над диапазоном, содержащим формулу массива (то есть над строкой 1). Ссылки на строки будут изменены и в результате выполнения формулы вы получите числа от 2 до 11. Чтобы избежать возникновения этой проблемы, следует добавить в формулу функцию ДВССЫЛ.

=СТРОКА(ДВССЫЛ(«1:10»))

В функции ДВССЫЛ в качестве аргументов используются текстовые строки (именно поэтому диапазон 1:10 заключен в двойные кавычки). Текстовые значения не изменяются при вставке строк или перемещении формулы массива. В результате при выполнении функции СТРОКА всегда будет создаваться нужный массив целочисленных значений.

Рассмотрим формулу, которую вы использовали ранее — =НАИБОЛЬШИЙ(A5:A14,СТРОКА(ДВССЫЛ(«1:3»))), начиная с внутренних скобок и работая наружу: функция ДВССЫЛ возвращает набор текстовых значений, в данном случае значения от 1 до 3. Функция СТРОКА, в свою очередь, создает массив столбцов из трех ячеек. Функция НАИБОЛЬШИЙ использует значения в диапазоне ячеей A5:A14 и вычисляется три раза для каждой ссылки, возвращаемой функцией СТРОКА. Значения 3200, 2700 и 2000 возвращаются в массив столбцов с тремя ячейками. Если вы хотите найти дополнительные значения, добавьте к функции ДВССЫЛ более широкий диапазон ячеек.

Как и в предыдущих примерах, эту формулу можно использовать и с другими функциями, такими как СУММ и СРЗНАЧ.

Поиск наиболее длинной строки текста в диапазоне ячеек

Вернитесь к предыдущему примеру текстовой строки, введите следующую формулу в пустую ячейку и нажмите CTRL+SHIFT+ВВОД:


=ИНДЕКС(A2:A6;ПОИСКПОЗ(МАКС(ДЛСТР(A2:A6));ДЛСТР(A2:A6);0);1)

Отобразится текст «группа ячеек».

Рассмотрим эту формулу подробнее, начиная с элементов в скобках. Функция ДЛСТР возвращает длину каждого элемента в диапазон ячеек A2:A6. Функция МАКС вычисляет наибольшее значение среди этих элементов, соответствующее самой длинной текстовой строке, которая находится в ячейке A3.

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

(МАКС(ДЛСТР(A2:A6))

из следующего массива:

ДЛСТР(A2:A6)

Аргумент типа соответствия равен 0. Тип соответствия может иметь значение 1, 0 или -1. Если для аргумента задано значение 1, функция ПОИСКПОЗ возвращает наибольшее значение, которое не превышает искомое значение. Если для аргумента задано значение 0, функция ПОИСКПОЗ возвращает первое значение, равное искомому. Если для аргумента задано значение -1, функция ПОИСКПОЗ ищет наименьшее из значений, которые превышают искомое значение или равны ему. Если тип соответствия не указан, предполагается, что он равен 1.

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

В данном разделе приводятся примеры использования более сложных формул массива.

Суммирование диапазона, который содержит значения ошибки

При попытке просуммировать диапазон, содержащий значения ошибки (например, #Н/Д), функция СУММ в Excel не работает. В приведенном ниже примере демонстрируется, как просуммировать значения в диапазоне «Данные», который содержит ошибки.

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);»»;Данные))

Формула создает новый массив, содержащий исходные значения за вычетом любых значений ошибок. Начиная с внутренних функций и работы наружу, функция ЕОШИБКА выполняет поиск ошибок в диапазоне ячеей (Данные). Функция ЕСЛИ возвращает определенное значение, если указанное условие дает в результате значение ИСТИНА, и другое значение, если условие дает в результате значение ЛОЖЬ. В этом случае он возвращает пустые строки («») для всех значений ошибок, так как они оцениваются как ИСТИНА, и возвращает оставшиеся значения из диапазона (Данные), так как они оцениваются как ЛОЖЬ, то есть они не содержат значений ошибок. Функция СУММ затем вычисляет итог для отфильтрованного массива.

Подсчет количества значений ошибки в диапазоне

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

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))

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

=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1))

Если этот аргумент не задан и ячейка не содержит значения ошибки, функция ЕСЛИ возвращает значение ЛОЖЬ. Формулу можно упростить еще больше:

=СУММ(ЕСЛИ(ЕОШИБКА(Данные)*1))

Такой вариант формулы допустим, поскольку ИСТИНА*1=1 и ЛОЖЬ*1=0.

Суммирование значений с учетом условий

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

=СУММ(ЕСЛИ(Продажи>0;Продажи))

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

Можно также выполнить суммирование значений с учетом нескольких условий. Например, в следующей формуле массива вычисления выполняются по значениям, которые больше 0 и не меньше 5:

=СУММ((Продажи>0)*(Продажи<=5)*(Продажи))

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

Доступно создание формул массива с использованием условия типа ИЛИ. Например, можно выполнить сложение значений, которые меньше 5 и больше 15:

=СУММ(ЕСЛИ((Продажи<5)+(Продажи>15);Продажи))

Функция ЕСЛИ возвращает все значения меньше 5 и больше 15, которые затем передаются в функцию СУММ.

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

Подсчет среднего значения с исключением нулей

В этом примере демонстрируется, как удалить нулевые значения из диапазона, чтобы затем вычислить для него среднее значение. В формуле используется диапазон данных с именем «Продажи».

=СРЗНАЧ(ЕСЛИ(Продажи<>0,Продажи))

В результате выполнения функции ЕСЛИ создается массив значений, не равных 0, которые затем передаются в функцию СРЗНАЧ.

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

В данной формуле массива сравниваются значения в двух диапазонах ячеек с именами МоиДанные и ДругиеДанные, в результате чего возвращается количество различающихся ячеек между этими двумя диапазонами. Если содержимое двух диапазонов идентично, формула возвращает 0. Эту формулу можно использовать только для диапазонов ячеек с одинаковым размером и одинаковой размерностью (например, если МоиДанные — это диапазон из 3 строк и 5 столбцов, то диапазон ДругиеДанные тоже должен состоять из 3 строк и 5 столбцов).

=СУММ(ЕСЛИ(МоиДанные=ДругиеДанные;0;1))

В результате выполнения формулы создается массив, имеющий такой же размер, что и сравниваемые диапазоны. Функция ЕСЛИ заполняет массив значениями 0 и 1 (0 для ячеек с различными значениями, 1 — для ячеек с одинаковыми значениями). Затем функция СУММ возвращает сумму значений в массиве.

Эту формулу можно упростить следующим образом:

=СУММ(1*(МоиДанные<>ДругиеДанные))

Подобно формуле, подсчитывающей количество значений ошибки в диапазоне, эта формула работает благодаря тому, что ИСТИНА*1=1, а ЛОЖЬ*1=0.

Поиск позиции максимального значения в диапазоне

Следующая формула массива возвращает номер строки максимального значения в диапазоне с именем «Данные», состоящем из одного столбца:

=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»))

В результате выполнения функции ЕСЛИ создается новый массив, соответствующий диапазону с именем «Данные». Если соответствующая ячейка содержит максимальное значение в диапазоне, массив будет содержать номер этой строки. В обратном случае массив содержит пустую строку («»). Функция МИН использует полученный массив в качестве своего второго аргумента и возвращает наименьшее значение, соответствующее номеру строки с максимальным значением в диапазоне с именем «Данные». Если диапазон «Данные» содержит одинаковые максимальные значения, формула возвращает строку первого значения.

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

=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);»»));СТОЛБЕЦ(Данные))

Подтверждение

Части этой статьи основаны на серии рубрик «Опытные пользователи Excel», написанных Колином Уилкоксом (Colin Wilcox), а также на главах 14 и 15 из книги «Формулы Excel 2002», написанной Джоном Уокэнбахом (John Walkenbach), бывшим специалистом по Excel со статусом MVP.

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

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

См. также

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

Формулы динамического массива и устаревшие формулы массива CSE

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

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

Функция ПОСЛЕДОВ

Функция СОРТ

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

Функция УНИК

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

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

Обзор формул

Необходимое предисловие

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

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

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

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

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

где

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

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

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

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

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

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

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

=MID(A1;SEQUENCE(1;LEN(A1));1)

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

  • Сначала функция ПОСЛЕД формирует простой числовой ряд 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 и т.д.

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

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

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

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

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

=ROUNDUP(SEQUENCE(B2*B4)/B4;0)

Здесь:

  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
  • Функции СОРТ, ФИЛЬТР и УНИК в последнем обновлении Excel
  • Функция ПРОСМОТРХ — наследник ВПР

Это перевод главы книги 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 подсчитать определенный день недели между датами

Основная формула

=СУММПРОИЗВ(—(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(нач_дата&«:»&кон_дата)))=день_нед))

Описание

Для подсчета дней недели (понедельник, пятница, воскресенье и т.д.) между двумя датами можно использовать формулу массива, которая использует несколько функций: СУММПРОИЗВ, ДЕНЬНЕД, СТРОКА и ДВССЫЛ.
В показанном примере формула в ячейке E6 выглядит так:

=СУММПРОИЗВ(—(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B6&»:»&C6));2)=D6))

В основной версии формулы

  • нач_дата = дата начала
  • кон_дата = дата окончания
  • день_нед = день недели

.

Пояснение

По сути, эта формула использует функцию ДЕНЬНЕД для проверки количества дат, чтобы увидеть, попадают ли они в данный день недели (день_нед), и функцию СУММПРОИЗВ, чтобы подвести итог.
При задании даты ДЕНЬНЕД просто возвращает число от 1 до 7, которое соответствует определенному дню недели. По умолчанию 1 = воскресенье и 7 = суббота.
Для наших «широт и менталитета» устанавливаем второй аргумент функции ДЕНЬНЕД = 2.

ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B6&»:»&C6));2)

Только тогда 1 = понедельник, 7 = воскрсенье и так далее.
Уловка этой формулы заключается в понимании того, что даты в Excel — это просто порядковые номера, начинающиеся 1 января 1900г. Например, 1 мая 2021г. — это серийный номер 44317, а 9 мая 2021г. — 44325.
Даты в Excel выглядят как даты только тогда, когда применяется числовой формат даты.
Возникает вопрос: как создать массив дат, который можно передать функции ДЕНЬНЕД, чтобы узнать соответствующие дни недели?
Ответ — использовать СТРОКА с функциями ДВССЫЛ следующим образом:

СТРОКА(ДВССЫЛ(дата1&«:»&дата2))

Функция ДВССЫЛ позволяет интерпретировать сцепленные даты «44317:44325» как номера строк. Тогда функция СТРОКА возвращает такой массив:

{44317;44318;44319;44320;44321;44322;44323;44324;44325}

Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:

который проверяется относительно данного дня недели (в данном случае 6 из D6). После преобразования результатов теста в единицы и нули с двойным дефисом этот массив обрабатывается СУММПРОИЗВ:

Что возвращает 2.

С функцией ПОСЛЕД

С помощью новой функции ПОСЛЕД эту формулу можно упростить примерно так:

=СУММПРОИЗВ(—(ДЕНЬНЕД(ПОСЛЕД(кон_дата-нач_дата+1;1;нач_дата;1))=день_нед))

В этой версии мы используем ПОСЛЕД для генерации массива дат напрямую, без необходимости в ДВССЫЛ или СТРОКА.

Канал видеоролика: Алексей Полянский: уроки Excel для начинающих

Обложка видеоролика:

Excel функция Послед

Смотреть видео:

С этим видео смотрят следующие ролики:

Новая функция в новом Excel! / Как разбить данные ячейки в Excel?

Новая функция в новом Excel! / Как разбить данные ячейки в Excel?

Академия Excel Дмитрия Якушева

Функция ВПР в Excel ➤ Как пользоваться функцией ВПР (VLOOKUP) в Excel

Функция ВПР в Excel ➤ Как пользоваться функцией ВПР (VLOOKUP) в Excel

Андрей Сухов: Excel Master — функции, трюки, примеры

Функция перевода содержимого ячеек в Google таблицах. И нужно ли такое в Excel?!

Функция перевода содержимого ячеек в Google таблицах. И нужно ли такое в Excel?!

Билял Хасенов: Excel, VBA

Функция excel суммесли суммеслимн | эксель для продвинутых

Функция excel суммесли суммеслимн | эксель для продвинутых

Алексей Полянский: уроки Excel для начинающих

9. Функция ПОИСК и НАЙТИ в Excel. ТОП-25 Функций в Excel

9. Функция ПОИСК и НАЙТИ в Excel. ТОП-25 Функций в Excel

Павел Коган: Easy Excel — макросы, программирование на VBA

10. Функция ЛЕВСИМВ и ПРАВСИМВ в Excel. ТОП-25 Функций в Excel

10. Функция ЛЕВСИМВ и ПРАВСИМВ в Excel. ТОП-25 Функций в Excel

Павел Коган: Easy Excel — макросы, программирование на VBA

История акций в Excel. Функция ИСТОРИЯАКЦИЙ/STOCKHISTORY

История акций в Excel. Функция ИСТОРИЯАКЦИЙ/STOCKHISTORY

Павел Коган: Easy Excel — макросы, программирование на VBA

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

19.10.2022 19:06

  • Комментарии

Написать комментарий

Нет комментариев. Ваш будет первым!

Ваше имя:

Загрузка…

Возвращает абсолютную величину числа

Возвращает арккосинус числа

Возвращает гиперболический арккосинус числа

Возвращает арккотангенс числа

Возвращает гиперболический арккотангенс числа

Возвращает арксинус числа

Возвращает гиперболический арксинус числа

Возвращает арктангенс числа

Возвращает арктангенс для заданных координат x и y

Возвращает гиперболический арктангенс числа

Возвращает гиперболический косинус числа

Возвращает гиперболический косинус числа

Возвращает котангенс угла

Возвращает гиперболический косеканс угла

Округляет число в большую сторону до ближайшего целого или кратного

Присваивает имена результатам вычислений, чтобы обеспечить хранение промежуточных вычислений, значений или определение имен в формуле

Возвращает натуральный логарифм числа

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

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

Возвращает гиперболический секанс угла

Возвращает синус заданного угла

Возвращает гиперболический синус числа

Возвращает гиперболический тангенс числа

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

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

Преобразует радианы в градусы

Возвращает двойной факториал числа

Преобразует текстовое представление числа в заданном основании в десятичное число

Возвращает положительное значение квадратного корня

Возвращает квадратный корень из значения выражения (число * пи)

Возвращает матрицу единицы или заданный размер

Возвращает обратную матрицу массива

Возвращает определитель матрицы массива

Возвращает мультиномиальный коэффициент множества чисел

Возвращает матричное произведение двух массивов

Округляет число до ближайшего нечетного целого

Возвращает наибольший общий делитель

Возвращает наименьшее общее кратное

Округляет число до ближайшего целого или кратного

Округляет число в большую сторону до ближайшего целого или кратного

Округляет число до ближайшего целого или кратного Число округляется до большего значения вне зависимости от его знака

Округляет число в меньшую сторону до ближайшего целого или кратного

Округляет число до ближайшего целого или кратного Число округляется до большего значения вне зависимости от его знака

Округляет число до указанного количества десятичных разрядов

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

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

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

Преобразует число в текстовое представление с заданным основанием (базой)

Возвращает остаток от деления

Отбрасывает дробную часть числа

Возвращает произведение аргументов

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

Преобразует градусы в радианы

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

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

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

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

Возвращает случайное число в интервале от 0 до 1

Возвращает результат возведения числа в степень

Суммирует ячейки, удовлетворяющие заданному условию

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

Возвращает сумму квадратов аргументов

Возвращает сумму квадратов разностей соответствующих значений в двух массивах

Возвращает сумму произведений соответствующих элементов массивов

Возвращает сумму разностей квадратов соответствующих значений в двух массивах

Возвращает сумму сумм квадратов соответствующих элементов двух массивов

Возвращает факториал числа

Округляет число до ближайшего меньшего целого

Возвращает целую часть частного при делении

Округляет число до ближайшего четного целого

Возвращает количество комбинаций для заданного числа объектов

Возвращает количество комбинаций с повторами для заданного числа элементов

Обновлено: 16.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 что это
  •   

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

док декабрь 2окт 1

Описание

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

Синтаксис и аргументы

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

ПОСЛЕДОВАТЕЛЬНОСТЬ(строки,[столбцы],[начало],[шаг])

аргументы

  • Rows: Обязательное количество возвращаемых строк.
  • Columns: Необязательно, количество возвращаемых столбцов.
  • Start: Необязательно, начальный номер последовательности. По умолчанию (опущено), это 1.
  • Setp: Необязательно, приращение между каждым числом. По умолчанию (опущено), это 1.

Возвращаемое значение

Наблюдения и советы этой статьи мы подготовили на основании опыта команды SEQUENCE функция возвращает массив.

Версия

Excel 365 и Excel 2021.

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

Пример 1 базового использования

Предположим, здесь необходимо создать список порядковых номеров, который начинается с 1, а приращение равно 2 в таблице с 3 строками и 5 столбцами, выберите ячейку и используйте функцию ПОСЛЕДОВАТЕЛЬНОСТЬ следующим образом:

=SEQUENCE(3,5,1,2)

Нажмите Enter ключ. Порядковые номера созданы.
док декабрь 2окт 1

Пример 2: объединить функцию SEQUNCE с другими функциями

1) Создайте список дат, начиная с

=SEQUENCE(4,3,»2022/6/16″,1)

Здесь «2022/6/16» указывает на создание списка последовательностей, начиная с 2022/6/16. (Даты хранятся в виде чисел в Excel)

Если результаты отображаются в виде чисел, отформатируйте их как даты.
док декабрь 2окт 1

2) Создайте список случайных возрастающих целых чисел

=SEQUENCE(2,5,INT(RAND()*10),INT(RAND()*10))

Здесь RAND возвращает случайное число от 0 до 1, *10 получит случайное число от 1 до 10. INT Возвращает целую часть случайного числа путем округления до целого числа в меньшую сторону.
док декабрь 2окт 1


Другие функции:

  • Excel RAND Функция
    Функция RAND в Excel возвращает случайное действительное число от 0 до 1.

  • Excel RANDBETWEEN Функция
    Функция Excel СЛУЧМЕЖДУ возвращает случайное целое число между двумя заданными числами.

  • Excel ROMAN Функция
    Функция Excel ROMAN преобразует арабское число в римскую цифру в виде текста.

  • Excel POWER Функция
    Функция СТЕПЕНЬ возвращает результат возведения числа в заданную степень.


Лучшие инструменты для работы в офисе

Kutools for Excel — Помогает вам выделиться из толпы

Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.

  • Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
  • Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
  • Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
  • 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.

Лента Excel (с Kutools for Excel установлены)


Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)

  • Одна секунда для переключения между десятками открытых документов!
  • Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
  • Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
  • Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.

Снимок экрана Excel (с установленной вкладкой Office)

Комментарии (0)


Оценок пока нет. Оцените первым!

Понравилась статья? Поделить с друзьями:
  • Функция полных лет в excel
  • Функция покрасить ячейки в excel
  • Функция поискпоз в excel что это
  • Функция поиска ячейки по содержимому в excel
  • Функция поиска чисел в excel