📚 Hub Books: Онлайн-чтение книгРазная литератураМагия таблиц. 100+ приемов ускорения работы в Excel (и немного в Google Таблицах) - Ренат Шагабутдинов

Магия таблиц. 100+ приемов ускорения работы в Excel (и немного в Google Таблицах) - Ренат Шагабутдинов

Шрифт:

-
+

Интервал:

-
+
1 ... 28 29 30 31 32 33 34 35 36 ... 57
Перейти на страницу:
ДАТАЗНАЧ / DATEVALUE, которая превращает текстовую дату, указанную в кавычках в стандартном формате, в число и тем самым позволяет использовать ее как условие для фильтрации. В следующем примере мы выбираем только данные с датой от 1 мая 2021 года включительно:

=ФИЛЬТР(Данные;Данные[Дата операции]>=ДАТАЗНАЧ("01.05.2021″))

Если в ФИЛЬТРе нужно выполнение нескольких условий одновременно (И), то перечисляем их со знаком умножения (*) и каждое берем в скобки.

Следующее условие — это фильтрация строк с Санкт-Петербургом в столбце F и B2B в столбце B.

(A1:A100="Санкт-Петербург") * (B1:B100="B2B")

Если хотя бы одного из (ИЛИ), то с плюсом (+). Следующее условие — или Санкт-Петербург, или Москва в столбце A:

(A1:A100= "Санкт-Петербург") + (A1:A100="Москва")

Функцию ФИЛЬТР можно совместить с СОРТ, если нужно и фильтровать, и сортировать данные. В следующей формуле (переносы строк — для наглядности, их можно использовать и в строке формул для лучшей читаемости) мы фильтруем данные по дате, а затем сортируем по пятому столбцу по возрастанию:

=СОРТ(ФИЛЬТР(Данные;Данные[Дата операции]>=ДАТАЗНАЧ("01.05.2021″));5;1)

Добавляем заголовки к результату фильтрации

Обратите внимание, что ФИЛЬТР автоматически не вставляет заголовки сверху над данными. Их можно заранее вставить вручную в верхнюю строку, под которой будет функция ФИЛЬТР, либо использовать функцию ВСТОЛБИК / VSTACK, о которой мы писали выше (если у вас Microsoft 365):

=ВСТОЛБИК(Заголовки];ФИЛЬТР(…))

В Google Таблицах можно объединить массивы с помощью фигурных скобок:

={Ссылка на заголовки; FILTER(…) }

Точка с запятой (в российских региональных настройках) в Google Таблицах — это вертикальное объединение массивов, а обратная косая черта — горизонтальное.

Другие функции для работы с массивами, появившиеся в 2022 году

Файл с примерами: ВЗЯТЬ и другие функции для работы с массивами.xlsx

Помимо VSTACK и HSTACK, в 2022 году в Excel (и Google Таблицах тоже) появились и другие функции для обработки массивов.

Функции TAKE / ВЗЯТЬ и СБРОСИТЬ / DROP

Функция ВЗЯТЬ / TAKE извлекает заданное количество столбцов или строк из массива:

=ВЗЯТЬ(массив;; сколько строк получить; [сколько столбцов получить])

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

Например, если нам нужны первые 10 значений в столбце таблицы, будет такая формула (в общем виде):

=ВЗЯТЬ(Таблица[Столбец]; 10)

А если нужны последние, а не первые? Прелесть в том, что функция умеет и так — просто укажите отрицательное количество строк в ее аргументе:

=ВЗЯТЬ(Таблица[Столбец]; -10)

Если нужна сумма последних 10, то добавим сверху функцию СУММ / SUM: =СУММ(ВЗЯТЬ(Таблица[Столбец]; -10))

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

СБРОСИТЬ убирает из массива заданное число строк и столбцов из начала (положительный аргумент) или конца (отрицательный):

=СБРОСИТЬ(массив; сколько строк убрать; [сколько столбцов убрать])

Например, если мы хотим сумму без первых трех (по порядку) значений:

=СУММ(СБРОСИТЬ(Сделки[Сумма];3))

Функции TOROW / ПОСТРОК и TOCOL / ПОСТОЛБЦ

Эти функции делают массив плоским — в одну строку или в один столбец соответственно. Можно превратить несколько столбцов в один вертикальный или горизонтальный список.

А дальше можно обрабатывать этот список: например, получить список уникальных значений, без повторов — с помощью функции УНИК / UNIQUE:

=УНИК(ПОСТОЛБЦ(диапазон))

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

WRAPROWS / СВЕРНСТРОК и WRAPCOLS / СВЕРНСТОЛБЦ

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

Первый аргумент этих функций — собственно массив (список), а второй (он называется wrap_count) — сколько строк или столбцов нужно получить на выходе:

=СВЕРНСТОЛБЦ(массив; число строк)

В следующем примере мы превращаем список (те же данные, что и в предыдущем примере), в котором каждые 4 строки — это время и три фамилии, в таблицы. В случае со СВЕРНСТОЛБЦ в ней будет 4 строки, в случае со СВЕРНСТРОК — 4 столбца. Второй аргумент обеих функций — 4 (это цикличность наших данных).

CHOOSEROWS / ВЫБОРСТРОК и CHOOSECOLS / ВЫБОРСТОЛБЦ

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

=ВЫБОРСТРОК(массив; номер первой извлекаемой строки; номер второй; …)

Давайте извлечем первую и последнюю строку из таблицы. Первая — это первая, вторым аргументом функции ВЫБОРСТРОК можно задать единицу. А чтобы получать номер последней на данный момент строки, можно посчитать число значений с помощью функции СЧЁТЗ / COUNTA:

=ВЫБОРСТРОК(Название таблицы;1;СЧЁТЗ(Столбец из таблицы для подсчета значений))

EXPAND / РАЗВЕРНУТЬ

Эта функция увеличивает массив, добавляя к исходному массиву (диапазону) какое-то заданное значение:

=РАЗВЕРНУТЬ (исходный массив, число строк в новом массиве, число столбцов, чем заполнить)

Если последний аргумент не задать, то новые значения будут ошибками #H/Д (#N/A).

В следующем примере мы также делаем новый массив размерами 3 × 3 (то есть добавляем к исходному из диапазона A1:B2 одну строку и один столбец), но новые значения задаем как нули.

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

Файл с примерами: ПОСЛЕД.xlsx

Функция ПОСЛЕД / SEQUENCE появилась вместе с динамическими массивами в Excel 2021 и Microsoft 365, то есть отсутствует во всех «коробочных» версиях Excel вплоть до 2019.

Но она есть в Google Таблицах, там эта функция при любом языке формул называется SEQUENCE.

Эта функция возвращает массив из чисел, заданный следующими параметрами — ее аргументами:

• строки (rows);

• столбцы (columns);

• начало (start);

• шаг (step).

Например, такая функция выведет столбец с числами от 1 до 1000:

=ПОСЛЕД(1000;1;1;1)

А такая — диапазон размеров 3 × 3 с числами от 10 до 100:

=ПОСЛЕД(3;3;10;10)

Так как даты в Excel и Google Таблицах — это числа (одна единица = 1 календарный день), то можно выводить и их. Вот несколько примеров.

Все даты за заданный период

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

1 ... 28 29 30 31 32 33 34 35 36 ... 57
Перейти на страницу:

Комментарии

Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!

Никто еще не прокомментировал. Хотите быть первым, кто выскажется?