Чего нам не хватало в Excel
Ну некоторых чудо-функций Google Таблиц. Например, FLATTEN или SPLIT.
И вот - 14 новых функций Excel. Огненных 🔥
А именно:
TEXTSPLIT / ТЕКСТРАЗД - это как SPLIT, только умеет и вертикально, и горизонтально выкатывать полученные текстовые значения. А еще до кучи TEXTBEFORE / ТЕКСТДО и TEXTAFTER / ТЕКСТПОСЛЕ, извлекающие текст до/после разделителя.
TOROW / ВСТРОКУ и TOCOL (ВСТОЛБЕЦ, вероятно? Пока даже в русском Excel - TOCOL), как табличный FLATTEN, делают массив плоским - в одну строку/столбец соответственно.
VSTACK и HSTACK склеивают несколько массивов в один вертикально или горизонтально.
WRAPROWS и WRAPCOLS делают плоский массив двумерным.
TAKE / ВЗЯТЬ и DROP / СБРОСИТЬ извлекают первые/последние номера строк из массива.
CHOOSEROWS и CHOOSECOLS извлекают заданные (по номерам) строки или столбцы из массива. То есть можно вытащить, например, 1 и 5 столбец. Или вытащить весь массив, поменяв порядок столбцов.
EXPAND / РАЗВЕРНУТЬ увеличивает размерность массива, добавляя заданные значения к исходному массиву (например, нули или пустые строки).
Функции уже выкатили на подписчиков бета-канала обновлений. Заходите в параметры Excel, если у вас подписка Microsoft 365, и включайте в программе предварительной оценки Office бета-канал.
Ну некоторых чудо-функций Google Таблиц. Например, FLATTEN или SPLIT.
И вот - 14 новых функций Excel. Огненных 🔥
А именно:
TEXTSPLIT / ТЕКСТРАЗД - это как SPLIT, только умеет и вертикально, и горизонтально выкатывать полученные текстовые значения. А еще до кучи TEXTBEFORE / ТЕКСТДО и TEXTAFTER / ТЕКСТПОСЛЕ, извлекающие текст до/после разделителя.
TOROW / ВСТРОКУ и TOCOL (ВСТОЛБЕЦ, вероятно? Пока даже в русском Excel - TOCOL), как табличный FLATTEN, делают массив плоским - в одну строку/столбец соответственно.
VSTACK и HSTACK склеивают несколько массивов в один вертикально или горизонтально.
WRAPROWS и WRAPCOLS делают плоский массив двумерным.
TAKE / ВЗЯТЬ и DROP / СБРОСИТЬ извлекают первые/последние номера строк из массива.
CHOOSEROWS и CHOOSECOLS извлекают заданные (по номерам) строки или столбцы из массива. То есть можно вытащить, например, 1 и 5 столбец. Или вытащить весь массив, поменяв порядок столбцов.
EXPAND / РАЗВЕРНУТЬ увеличивает размерность массива, добавляя заданные значения к исходному массиву (например, нули или пустые строки).
Функции уже выкатили на подписчиков бета-канала обновлений. Заходите в параметры Excel, если у вас подписка Microsoft 365, и включайте в программе предварительной оценки Office бета-канал.
TECHCOMMUNITY.MICROSOFT.COM
Announcing New Text and Array Functions
We are excited to announce fourteen new Excel functions that will allow you to easily manipulate text and arrays.
Заставляем IMPORTXML работать
Друзья, в последнее время в нашем чате участились жалобы на функцию IMPORTXML. Нам пишут, что если в Таблице много таких функций – они перестают работать.
Победить это можно с помощью скрипта из этого поста.
Работает скрипт так:
1) Выделяете диапазон, в одном столбце должны быть ссылки на веб-сайты, в другом столбце - запросы xpath
2) Запускаете скрипт из меню, скрипт собирает функции IMPORTXML из выделенного диапазона и вставляет функции в соседний столбец
3) После вставки результат сразу заменяется на значения
4) Вставка происходит партиями по 20 функций, за это отвечает параметр
Код
Таблица с кодом
Друзья, в последнее время в нашем чате участились жалобы на функцию IMPORTXML. Нам пишут, что если в Таблице много таких функций – они перестают работать.
Победить это можно с помощью скрипта из этого поста.
Работает скрипт так:
1) Выделяете диапазон, в одном столбце должны быть ссылки на веб-сайты, в другом столбце - запросы xpath
2) Запускаете скрипт из меню, скрипт собирает функции IMPORTXML из выделенного диапазона и вставляет функции в соседний столбец
3) После вставки результат сразу заменяется на значения
4) Вставка происходит партиями по 20 функций, за это отвечает параметр
step
в коде (можете с ним поиграть и выставить другое значение).Код
Таблица с кодом
Как не надо использовать функцию FILTER
Друзья, недавно ко мне пришла наша подписчица с Таблицей – полоса расчёта формул в в Таблице не доходила до конца, кулер в компьютере при открытии Таблицы начинал неистово шуметь, а также в ней не работали скрипты =)
Я стал изучать Таблицу и обнаружил, что практически каждая ячейка рассчитывается с помощью отдельной функции
Решение тут простое - функция
❌ Не используйте FILTER тогда, когда вам нужно посчитать значение одной ячейки.
✅ Используйте классические и оттого более быстрые для Таблицы варианты (в данном случае - COUNTIFS / СЧЕТЕСЛИМН), Таблица с ними точно заработает быстрее.
Друзья, недавно ко мне пришла наша подписчица с Таблицей – полоса расчёта формул в в Таблице не доходила до конца, кулер в компьютере при открытии Таблицы начинал неистово шуметь, а также в ней не работали скрипты =)
Я стал изучать Таблицу и обнаружил, что практически каждая ячейка рассчитывается с помощью отдельной функции
FILTER
, смотрите скриншот. Таких функций в Таблице были сотни и всё тормозило именно из-за них.Решение тут простое - функция
FILTER
- функция массива, она может сразу выводить несколько ячеек.❌ Не используйте FILTER тогда, когда вам нужно посчитать значение одной ячейки.
✅ Используйте классические и оттого более быстрые для Таблицы варианты (в данном случае - COUNTIFS / СЧЕТЕСЛИМН), Таблица с ними точно заработает быстрее.
ВСТАВЛЯТОР: вставляем формулу / скрипт сразу же вставляет вместо неё значения
Друзья, сегодня делимся с вами экспериментальным решением!
Смотрите ГИФКУ – составляем формулу, проверяем, что она работает и что-то выводит, далее добавляем
И в работу вступает скрипт – он копирует формулу, вставляет её на лист "temp", далее копирует результат формулы как значения и вставляет результат туда, куда вы вставляли формулу изначально.
Чтобы все заработало:
1) скопируйте код в свою Таблицу в редактор скриптов
2) поставьте функцию pasteFnct на триггер редактирования таблицы (поищите по каналу, как это сделать)
Нюанс:
Скрипт будет копировать функцию на временный лист "как она есть", поэтому диапазоны должны быть
Друзья, сегодня делимся с вами экспериментальным решением!
Смотрите ГИФКУ – составляем формулу, проверяем, что она работает и что-то выводит, далее добавляем
_
(нижнее подчеркивание) перед =
(для QUERY получится _=QUERY(аргументы формулы)
)И в работу вступает скрипт – он копирует формулу, вставляет её на лист "temp", далее копирует результат формулы как значения и вставляет результат туда, куда вы вставляли формулу изначально.
Чтобы все заработало:
1) скопируйте код в свою Таблицу в редактор скриптов
2) поставьте функцию pasteFnct на триггер редактирования таблицы (поищите по каналу, как это сделать)
Нюанс:
Скрипт будет копировать функцию на временный лист "как она есть", поэтому диапазоны должны быть
Лист!A:B
, а не просто A:B
.Книжно-табличные новости
В издательстве ДМК Пресс вышли две хорошие книги про Excel:
Визуализация данных при помощи дашбордов и отчетов в Excel (мы писали про нее ранее)
Приручи данные с помощью Power Query в Excel и Power BI
Бодрая книга по Power Query: от основ (зачем это нужно, интерфейс, создание запросов) до языка M (на котором "записываются" шаги запросов в Power Query и который можно использовать для расширения возможностей). Нескучно и доступно написана, много иллюстраций и скриншотов, примеров - все на уровне.
И несколько о слов о совсем новой и совсем старой книгах, увы, недоступных (в первом случае - вероятно, пока) на русском.
Microsoft Excel Inside Out (Office 2021 and Microsoft 365)
Лучшая книга по новому Excel и одна из лучших вообще. Будет полезна и тем, кто хочет освоить новые функции, и вообще всем, кто хочет системно изучить Excel или иметь качественный справочник по всем вопросам.
Максимально глубокое погружение, есть такие нюансы, про которые вообще нигде больше не прочтешь или которые придется очень долго искать.
Есть обзор нововведений в 365 и 2021 и практически все ключевые темы.
Ctrl+Shift+Enter Mastering Excel Array Formulas
Книга по формулам массива, вышедшая задолго до появления динамических массивов в Excel, но по-прежнему актуальная, тем более что у большинства еще версии до 2019 включительно, где этих самых чудо-массивов нет.
Будет полезна и если вы пользуете очень многоэтажные, монструозные и дичайшие формулы массива в Google Таблицах. Впрочем, в таком случае вам можно отправиться в наш чат, где знатоки регулярно такими формулами делятся.
Эти и другие книги в обзоре литературы для всех героев ячейки и формулы:
https://teletype.in/@renat_shagabutdinov/excellent_books
В издательстве ДМК Пресс вышли две хорошие книги про Excel:
Визуализация данных при помощи дашбордов и отчетов в Excel (мы писали про нее ранее)
Приручи данные с помощью Power Query в Excel и Power BI
Бодрая книга по Power Query: от основ (зачем это нужно, интерфейс, создание запросов) до языка M (на котором "записываются" шаги запросов в Power Query и который можно использовать для расширения возможностей). Нескучно и доступно написана, много иллюстраций и скриншотов, примеров - все на уровне.
И несколько о слов о совсем новой и совсем старой книгах, увы, недоступных (в первом случае - вероятно, пока) на русском.
Microsoft Excel Inside Out (Office 2021 and Microsoft 365)
Лучшая книга по новому Excel и одна из лучших вообще. Будет полезна и тем, кто хочет освоить новые функции, и вообще всем, кто хочет системно изучить Excel или иметь качественный справочник по всем вопросам.
Максимально глубокое погружение, есть такие нюансы, про которые вообще нигде больше не прочтешь или которые придется очень долго искать.
Есть обзор нововведений в 365 и 2021 и практически все ключевые темы.
Ctrl+Shift+Enter Mastering Excel Array Formulas
Книга по формулам массива, вышедшая задолго до появления динамических массивов в Excel, но по-прежнему актуальная, тем более что у большинства еще версии до 2019 включительно, где этих самых чудо-массивов нет.
Будет полезна и если вы пользуете очень многоэтажные, монструозные и дичайшие формулы массива в Google Таблицах. Впрочем, в таком случае вам можно отправиться в наш чат, где знатоки регулярно такими формулами делятся.
Эти и другие книги в обзоре литературы для всех героев ячейки и формулы:
https://teletype.in/@renat_shagabutdinov/excellent_books
ТРИ КОРОТКИХ СКРИПТА ИЗ НАШЕГО ЧАТА
Переход к последнему листу в Таблице. Если положить внутрь
Спасибо Даниилу Осипову!
—————————————
Определяем индекс последней строки с данными в выбранном столбце.
Спасибо создателю циклов!
—————————————
Превращаем текст, написанный болдом в текст вида *текст*. Лайфхак – если в
Спасибо Роману Игнатову!
Полное оглавление нашего канала: тыц
Наш чат: @google_spreadsheets_chat
Переход к последнему листу в Таблице. Если положить внутрь
onOpen(){}
– пользователь при открытии Таблицы будет автоматически перемещаться на последний лист. Спасибо Даниилу Осипову!
function go_last_sheet() {
const ss = SpreadsheetApp.getActiveSpreadsheet().getSheets();
ss[ss.length - 1].activate();
}
—————————————
Определяем индекс последней строки с данными в выбранном столбце.
Спасибо создателю циклов!
function getLastRow(data, column) {
var max = 0;
for (x in data) {
if (data[x][column - 1]) {
max = x * 1 + 1;
};
}
return max;
}
—————————————
Превращаем текст, написанный болдом в текст вида *текст*. Лайфхак – если в
v
сослаться на само значение (смотрите скриншот), то функция будет обновляться при его изменении.Спасибо Роману Игнатову!
function getBold(r,v) {
return SpreadsheetApp.getActive().getActiveSheet().getRange(r).getRichTextValue().getRuns().map(run=>
run.getTextStyle().isBold()?`*${run.getText()}*`:run.getText()
).join(' ');
}
Полное оглавление нашего канала: тыц
Наш чат: @google_spreadsheets_chat
Наш чат: @google_spreadsheets_chat
Друзья, у нас есть чат, в которым мы уже 5 лет отвечаем на ваши вопросы.
Работает чат так – отправляете вопрос и добавляете к нему Таблицу с примером. Если у кого-то есть время – вам помогают.
В чате есть правила:
1. Таблица с примером - обязательна. Проверяйте, чтобы в Таблице не было личных данных (телефоны, фамилии).
2. Кратко формулируйте вопрос.
3. Вам ответили в чате - там и продолжайте общаться, не пишите человеку в лс.
4. Донаты приветствуются, но не обязательны. Донаты делятся между модераторами чата (они же – активные помощники). Реквизиты появятся, если отправить в чат "донат".
5. Не хотите разбираться в своем вопросе вообще - пообещайте какую-то сумму за решение.
6. Не просите написать за вас с нуля скрипт или телеграм бота – это требует и навыка и времени, такие вещи нужно заказывать.
Друзья, у нас есть чат, в которым мы уже 5 лет отвечаем на ваши вопросы.
Работает чат так – отправляете вопрос и добавляете к нему Таблицу с примером. Если у кого-то есть время – вам помогают.
В чате есть правила:
1. Таблица с примером - обязательна. Проверяйте, чтобы в Таблице не было личных данных (телефоны, фамилии).
2. Кратко формулируйте вопрос.
3. Вам ответили в чате - там и продолжайте общаться, не пишите человеку в лс.
4. Донаты приветствуются, но не обязательны. Донаты делятся между модераторами чата (они же – активные помощники). Реквизиты появятся, если отправить в чат "донат".
5. Не хотите разбираться в своем вопросе вообще - пообещайте какую-то сумму за решение.
6. Не просите написать за вас с нуля скрипт или телеграм бота – это требует и навыка и времени, такие вещи нужно заказывать.
Теперь вы готовы, наш чат:
@google_spreadsheets_chatЛогично. Функции SWITCH и CHOOSE
Две полезные функции для проверки условий, с которыми можно избавиться от многоэтажных вложенных ЕСЛИ / IF.
ВЫБОР / CHOOSE
Первый аргумент ВЫБОРа - число, а все следующие - что нужно вернуться для значений этого числа, последовательно для 1, 2, 3 и так далее.
Например, такая функция будет переводить оценку по пятибальной шкале в текстовую:
В Excel появилась в версии 2016, в Таблицах называется SWITCH даже при русском языке формул.
В ПЕРЕКЛЮЧ первый аргумент - выражение (значение из ячейки), а все последующие - это пары "значение - результат". Последний аргумент - результат для всех остальных случаев.
Например, можно задать разную скидку для трех каналов продаж, а для остальных - нулевую:
Две полезные функции для проверки условий, с которыми можно избавиться от многоэтажных вложенных ЕСЛИ / IF.
ВЫБОР / CHOOSE
Первый аргумент ВЫБОРа - число, а все следующие - что нужно вернуться для значений этого числа, последовательно для 1, 2, 3 и так далее.
Например, такая функция будет переводить оценку по пятибальной шкале в текстовую:
=ВЫБОР (ячейка с оценкой; "один"; "два"; "три"; "четыре"; "пять")ПЕРЕКЛЮЧ / SWITCH
В Excel появилась в версии 2016, в Таблицах называется SWITCH даже при русском языке формул.
В ПЕРЕКЛЮЧ первый аргумент - выражение (значение из ячейки), а все последующие - это пары "значение - результат". Последний аргумент - результат для всех остальных случаев.
Например, можно задать разную скидку для трех каналов продаж, а для остальных - нулевую:
=SWITCH(ячейка с каналом продаж;"Сайт";15%;"Магазин";12%;"Ярмарка";10%;0)
Ссылка на таблицу с примерамиКстати, в Excel ВЫБОР до появления динамических массивов и функций для склеивания массивов (VSTACK, HSTACK) использовался для объединения нескольких диапазонов. Например, чтобы поменять порядок столбцов для ВПР.
=ВЫБОР({1;2};первый диапазон; второй диапазон)То есть в качестве номера задаем сразу массив в фигурных скобках - и ВЫБОР возвращает оба диапазона, указанные в аргументах, вместе.
Скрипт – добавляем к значению в ячейке новое значение, которое ввел пользователь
Сегодня отвечаем на вопрос Никиты из нашего чата.
Скрипт (его код - ниже) работает супер просто - запускаем, вводим значение в "Inputbox" (форму для ввода) и скрипт добавляет это значение к тому, которое есть в ячейке.
Обратите внимание - в гифке я кликаю просто на картинку и это запускает скрипт. Как это сделать – вставляем любую картинку в Таблицу, кликаем на неё правой кнопкой, кликаем на три точки справа, "назначить скрипт" и вводим название скрипта, который будем запускать при клике на картинку.
А в следующем посте рассмотрим, как выводить html-окно с фиксированным вариантами для выбора. Оставайтесь с нами и заходите в наш чат, задавайте вопросы.
Сегодня отвечаем на вопрос Никиты из нашего чата.
Скрипт (его код - ниже) работает супер просто - запускаем, вводим значение в "Inputbox" (форму для ввода) и скрипт добавляет это значение к тому, которое есть в ячейке.
Обратите внимание - в гифке я кликаю просто на картинку и это запускает скрипт. Как это сделать – вставляем любую картинку в Таблицу, кликаем на неё правой кнопкой, кликаем на три точки справа, "назначить скрипт" и вводим название скрипта, который будем запускать при клике на картинку.
А в следующем посте рассмотрим, как выводить html-окно с фиксированным вариантами для выбора. Оставайтесь с нами и заходите в наш чат, задавайте вопросы.
function pasteValue() {
const value = Browser.inputBox('Введите значение').toString();
const cell = SpreadsheetApp.getActiveRange();
const old_value = cell.getValue().toString();
cell.setValue((old_value.length ? old_value + ';' : '') + value);
};
Биты в байты, пинты в литры, столовые ложки в чайные. Функция ПРЕОБР / CONVERT
Эта функция преобразует значение (первый аргумент - число) из одной единицы измерения (второй аргумент - текст) в другую (третий аргумент - текст).
Например, "km" (километр), "byte" (байт), "uk_pt" (английская пинта), "ha" (гектар).
Можно использовать префиксы "Т" (тера), "G" (гига), "M" (мега) и подобные. Например, "Tbyte" - терабайт.
Единиц измерения много. Расстояние, время, вес и масса, давление, сила, энергия, мощность, температура, объем, скорость, площадь, биты и байты.
Полный список можно посмотреть в справке - и в Google Таблицах, и в Excel.
Эта функция преобразует значение (первый аргумент - число) из одной единицы измерения (второй аргумент - текст) в другую (третий аргумент - текст).
=ПРЕОБР (значение; исходная единица измерения; конечная единица измерения)Единицы измерения указываются сокращенно и на английском. Можно брать из ячеек, можно указывать в кавычках - все как с любыми другими текстовыми аргументами функций.
Например, "km" (километр), "byte" (байт), "uk_pt" (английская пинта), "ha" (гектар).
Можно использовать префиксы "Т" (тера), "G" (гига), "M" (мега) и подобные. Например, "Tbyte" - терабайт.
Единиц измерения много. Расстояние, время, вес и масса, давление, сила, энергия, мощность, температура, объем, скорость, площадь, биты и байты.
Полный список можно посмотреть в справке - и в Google Таблицах, и в Excel.
Создаём в QR-код прямо в ячейке
Друзья, в Google Таблице просто из своей текстовой строки создать QR-код.
1) Обращаемся к
Доступно 5 параметров:
2) Получившуюся оборачиваем в функцию
Документация
Оглавление канала. Внутри очень много постов и материала про Таблицы и скрипты =)
Друзья, в Google Таблице просто из своей текстовой строки создать QR-код.
1) Обращаемся к
https://chart.googleapis.com/chart?
и собираем ссылку вида:"https://chart.googleapis.com/chart?cht=qr&chs=100x100&chl=t.me/google_sheets"
Доступно 5 параметров:
cht=qr
//тип графика, для QR-кода – всегда qrchs=70*70
//размер изображенияchl=t.me/google_sheets
//данные, которые превращаем в QR-кодchoe=
//необязательный параметр, как кодировать данные, по умолчанию utf-8chld=
//необязательный параметр, уровень исправления ошибок, по умолчанию 7%2) Получившуюся оборачиваем в функцию
IMAGE(ссылка; 3)
и получаем изображение прямо в ячейке.Документация
Оглавление канала. Внутри очень много постов и материала про Таблицы и скрипты =)
Как выгрузить в Таблицу курс доллара с 01/04/22 по сегодняшний день?
Используйте формулу:
Большая статья про курсы от Михаила Смирнова
Используйте формулу:
=GOOGLEFINANCE("USDRUB";"price";"01.04.2022";TODAY())
Большая статья про курсы от Михаила Смирнова