Сообщество - MS, Libreoffice & Google docs

MS, Libreoffice & Google docs

762 поста 14 933 подписчика

Популярные теги в сообществе:

27

Swtich case в гугл таблицах или не самый очевидный ВПР (GS8)

UPD:

https://exceljet.net/excel-functions/excel-switch-function

https://support.google.com/docs/answer/7013690?hl=ru

Пост до UPD

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

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

1, 21 и т.д. пикабушник

2,3,4, 22, 23, 24 и т.д. пикабушника

5, 6, 7, 8, 9, 10 и т.д. пикабушников

Т.е для всех чисел, которые заканчиваются на 1 - окончание [] (кроме 11)

Для всех чисел, которые заканчиваются на 2,3 и 4 - окончание [а].

Для всех чисел, которые заканчиваются на 5, 6, 7, 8, 9, 0 - окончание [ов].

В книжках по программированию для большинства языков этот кейс решается функцией switch case. Но в экселе и ГТ нет такой функции. Предлагаю заменить ее ВПРом внутри функции.

Логика следующая - мы смотрим остаток от деления на 10 и в зависимости от результата возвращаем то или иное окончание.

Осталось только решить вопрос с 11. Здесь лучше всего использовать деление на 100 и, т.к. варианта тут всего 2 - 11 или все остальное - нам подойдет обычный if.

Итог:

Здесь видно, что результатом, который возвращает ВПР может быть и формула.

Покажу еще один пример. Это уже из боевого. Когда используются фильтры по датам - иногда удобно использовать понятные конструкции ("Текущая неделя", "Текущий месяц") и дать при этом возможность пользователю выбрать произвольную дату.

Мы ограничимся тремя вариантами - "Текущий месяц", "Прошлый месяц" и "Произвольная дата".

Если пользователь выбирает "Текущий месяц" или "Прошлый месяц", то ВПР внутри фильтра возвращает ему значение даты, которая задается формулой "КОНЕЦМЕСЯЦА(СЕГОДНЯ())". В случае, если он выбирает "Произвольная дата", то ВПР возвращает ошибку и срабатывает функция "ЕСЛИОШИБКА", которая возвращает значение даты, выбранной пользователь в ячейках F2 и F3.

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

Ссылка на таблицу:

https://docs.google.com/spreadsheets/d/1Q6xXFxfSWytAlcfY823i...

Показать полностью 3
44

D-функции в гугл таблицах (GS7)

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

Сейчас решил поделиться недавним своим открытием.

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

Это аналоги обычных функций sum, count, counta, product и т.д. с тем лишь отличием, что с данными оно себя ведет как с базой данных и сам синтаксис функций похож на упрощенные SQL-запросы.

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

Покажу на примере:

Есть таблица с данными. Назову ее целиком DATA:

Теперь попробуем с помощью D-функции dcounta  (БСЧЁТА в русской версии) получить кол-во продаж у второго сейла:

Первый аргумент - таблица, с которой мы будем работать. Может быть задана и как a1:c6.

Второй - столбец, с которым мы работаем.

Третий - пачка массивов с условиями. Сейчас подробнее расскажу как работают условия здесь.

Для этого попробую получить сумму всех продаж первого сейла после 10.06:

Здесь я в явном виде записал массив с условиями. Они пишутся вертикально - сверху имя столбца с условием, снизу - само условие.

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

И сама формула будет выглядеть:

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

И теперь вариант с dsum:

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

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

Ссылка на таблицу:

https://docs.google.com/spreadsheets/d/1qjMNiv7vonopcRiKFJu4...

Ссылка на документацию:

https://support.google.com/docs/answer/173497

Показать полностью 7
398

Hard-Excel без тормозов, борьба с Гига-книгами

Часто в работе приходится сталкиваться с гигантскими файлами Excel в которых пользователи чего только не всунут, иногда размер таких файлов достигает 100Мб (даже без рисунков), поэтому решил написать именно о двух самых распространённых причинах зависания гига-книг бухгалтеров и других пользователей, практикующих вуду в Excel. Конечно, вы можете найти данную информацию в интернете, но лучше себе сохранить пару картинок, чем тратить время. И так начнём.



1.Если данные в документ excel вставляются листами или столбцами/строками из файлов, созданных в ИНФИН, 1С, SAP и других подобных ERP-системах, а также с других книг excel. При этом они генерируют в файл «пустые» ячейки (забитые пробелами) и объекты типа “Надпись” . Успешно практикующий бухгалтер, может копировать некоторые столбцы годами. Со временем файл становится очень объёмным, так как забивается. Решение следующее:


Включаем вкладку “Разработчик”

Далее вызываем редактор нажав Alt+F11 (если у вас не вызывается можно включить вручную)

Создаётся новый макрос module1 в который нам нужно внести следующие строки (пункт 2) :


Sub DeleteAllTextBox()

Dim oSh As Shape

For Each oSh In ActiveSheet.Shapes

oSh.Delete

Next oSh

End Sub

Сохраняем данные изменения и подтверждаем(пункты 3,4,5).

Закрываем данное окно и уже в самом Excel применяем этот макрос перейдя во вкладку

Разработчик” и выбрав “Макросы”  - “DeleteAllTextBox”

Готово!

___________________________________________________________________________________

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

Надеюсь кому-то пригодится, всем спасибо за внимание

Показать полностью 6
208

Три способа перевернуть таблицу в Excel

Транспонирование - замена строк на столбцы, распространенная задача.


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

Короткое видео ⬇⬇⬇

Первый способ: Специальная вставка

Копируйте данные;

Встаньте в необходимом месте и нажав сочетание клавиш CTRL+ALT+V, или правая кнопка мыши (пкм), в меню иконка Транспонировать или выберите Специальная вставка:

В открывшемся окне поставьте галку напротив Транспонировать:

Готово.

Свойства: при обновлении данных в исходной таблице, данные в новой таблице не обновляются, это обычное копирование.

Способ второй: функция ТРАНСП

Выделите область, в которую необходимо вставить таблицу (в размер будущей перевернутой таблицы);

Введите =ТРАНСП(массив), где массив — это диапазон исходной таблицы;

Нажмите CTRL+SHIFT+ENTER, т.к. это формула массива и просто ENTER не сработает;

Готово.

Свойства: при обновлении данных в исходной таблице, данные в новой таблице обновляются.

Способ третий: транспонирование с помощью Power Query

В зависимости от версии вашего Excel, путь для загрузки в редактор может отличаться, подробнее в статье Power Query: мощь и простота работы с данными в Excel

Загрузите таблицу в редактор: Данные ► Получить данные ► Из других источников ► Из таблицы/диапазона;

Последовательно выполните действия:

1. Главная ► Использовать первую строку в качестве заголовка ► Использовать заголовки как первую строку;

2. Преобразование ► Транспонировать;

3. Главная ► Использовать первую строку в качестве заголовка;

Загрузите запрос: Главная ►Закрыть и загрузить ► Закрыть и загрузить в... ►Только создать подключение;

В окне Запросы и подключение ► пкм ► Загрузить в... ► Таблица.

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

Надстройка Power Query имеет очень большие возможности использования и стоит времени на её изучение. Поверьте, все с лихвой окупится в будущем, если вы часто и много работаете в Excel.

Свойства: при добавлении или обновлении данных в исходной таблице, данные в новой таблице обновляются. Самый автоматизированный вариант, если вам нужны связанные данные. Связь может быть, как с таблицей в текущей книге, так и с другим файлом (-ами). Подробнее Excel Power Query: создание основных запросов

Показать полностью 2
52

Как сохранить отчет Excel в формате PDF

Задаётесь вопросом, как сохранить отчет Excel (выделенную область, лист, файл целиком) в PDF формате? Все очень просто, видео покажет, последовательность сохранения отчета Excel в файл формата PDF. Действия схожи для всех приложений MS Office. Приятного просмотра ⬇⬇⬇

Алгоритм

Откройте файл:

Нажмите CTRL+P (откроется окно печати) или выберите Файл ► Печать, настройте Параметры печати:

Нажмите F12 или выберите Файл ► Сохранить, как, в открывшемся окне выберите место, куда сохранить будущий файл PDF, переименуйте при необходимости:

Нажмите Тип файла и выберите вариант PDF:

В Параметрах выберите вариант сохранения (все страницы или отдельные, книгу или диапазон), нажмите ОК:

Сохранить, Готово.

Показать полностью 6
129

Как переместить строку или столбец в Сводной таблице Excel

Сводная таблица Excel, имеет не такой порядок столбцов и строк, как вам нужно, а сортировка фильтром не помогает??? Смотрим, как легко решить проблему ⬇⬇⬇

Быстрое перемещение строк и столбцов в Excel

207

Как отобразить листы в файлах Excel, выгруженных из 1С

Отсутствие ярлычков листов в файле Excel, типичная ситуация для тех, кто хоть раз выгружал отчет из 1С. "Волшебная" программа 1С формирует файлы в форматах .xls и .xlsx без участия Excel. Поэтом в таких файлах, при открытии не видно отдельных листов, выглядит это так:

Как отобразить листы в файлах Excel, выгруженных из 1С

Как решить проблему и отобразить ярлычки??? Лучше один раз увидеть ⬇⬇⬇

Интересное по теме Excel:

ТОП-30 горячих клавиш в Excel

Мгновенное заполнение

Трюки с листами книги

Быстро удалить все картинки с листа

Быстрое перемещение строк и столбцов

"Умные" таблицы в Excel

Сводные таблицы в Excel: как создать?

Как построить график или диаграмму из Сводной таблицы

Суммирование в Excel

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

Показать полностью 1
108

Excel Power Query: создание основных запросов

Короткое видео ⬇⬇⬇

В Power Query можно создавать различные виды запросов и подключений к данным:

Рассмотрим самые часто используемые: с листа книги (таблицы/диапазона), из книги, из папки, из Google Таблицы.

Названия вкладок могут отличаться в зависимости от версии Excel.
Для Excel версии до 2016 надстройка расположена на отдельной вкладке Power Query.

Создание запроса к данным листа книги


Откройте лист Excel с данными:

Вкладка Данные ► Получить данные ► Из других источников ►Из таблицы/диапазона:

Автоматически создастся "Умная таблица":

Нажмите ОК, откроется окно редактора Power Query:

В окне Параметры запроса ►Свойства ► Имя, можно изменить название запроса.


Загрузите запрос, окно редактора запросов, Главная ►Закрыть и загрузить ► Закрыть и загрузить в...:

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

Создание запроса из книги


Вкладка Данные ► Получить данные ► Из файла ► Из книги:

В открывшемся окне укажите путь к файлу и нажмите Импорт:

В окне Навигатор выберите Лист или Таблицу, нажмите Преобразовать данные:

Загрузите запрос.


Создание запроса из папки


Вкладка Данные ► Получить данные ► Из файла ►Из папки:

В открывшемся окне укажите путь к папке и нажмите ОК:

Нажмите Преобразовать данные:

В редакторе удалите все столбцы, кроме двух первых, для этого выделите лишние столбцы зажав SHIFT, правая кнопка мыши по шапке столбца (пкм) ► Удалить столбцы:

Создайте пользовательский столбец, вкладка Добавление столбца ► Настраиваемый столбец, прописав в нём формулу Excel.Workbook([Content]):

В созданном столбце, выберите вариант Data, уберите галку Использовать исходное имя столбца как префикс ► ОК:

Разверните столбец:

Преобразуйте названия строк в заголовки столбцов, Главная ► Использовать первую строку в качестве заголовков:

Удалите повторяющиеся заголовки, используя фильтр, сняв галку:

Удалите лишние столбцы, пкм ► Удалить столбцы;

Загрузите запрос.


Создание запроса из Google Таблиц


Копируйте ссылку на файл в настройках доступа:

Из примера: https://docs.google.com/spreadsheets/d/1-oZB45_CfT4leIA6DrIP...

Откройте Excel;

Создайте запрос, Данные ► Получить данные ►Из других источников ► Из интернета:

Укажите путь к файлу, измените окончание ссылки с /edit?usp=sharing на /export и нажмите ОК:

В окне Навигатор выберите Лист и нажмите Преобразовать данные:

Загрузите запрос.


Проверить, что получилось: выберите в окне Запросы и подключение ► пкм ► Загрузить в...:

Файл с запросами из статьи

Показать полностью 24
Отличная работа, все прочитано!