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

MS, Libreoffice & Google docs

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

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

1096

Динамические выпадающие списки Excel

Ты уже наверняка создавал выпадающие списки в Excel. Делается это очень просто: выбираем ячейку, в которой нужен выпадающий список (1), идём в Данные -> Проверка данных (2).

В открывшемся окне, в поле «Тип данных» выбираем «Список» (3), и затем кликнув в поле «Источник» выделяем данные с рабочего листа для выпадающего списка (4). Подтверждаем нажатием на «Ок» (5).

Теперь при нажатии на символ с выпадающего списка мы можем выбирать один из определенных в источнике вариантов.

Однако, проблема заключается в том, что созданный таким образом выпадающий список является статичным. То есть если в таблице появится еще одна строка, выпадающий список останется прежним – соответственно неполным.


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

Копируем текст этой структурированный ссылки и вставляем её в поле «Источник» окна добавления выпадающего списка. Поскольку в этом поле нельзя напрямую вписывать структурированные ссылки, «оборачиваем» нашу структурированную ссылку в функцию ДВССЫЛ (Не забудь! Текст структурированной ссылай должен быть написан в кавычках!). По итогу, в поле «Источник» у тебя должно быть вписано следующее:

Ну и подтверждаем ввод нажатием на "ОК". Всё, всё готово! Теперь наш выпадающий список всегда будет актуальным, не важно были удалены из него определенные элементы или же добавлены новые - обязательно испробуй такой вариант выпадающего списка!


Вот в этом видео я показываю всё рассказанное, и, кроме того, делюсь и другими важными советами и подсказками по созданию динамических выпадающих списков, по работе со структурированными ссылками, а также о функции ДВССЫЛ:

Приятного просмотра! 😊

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

Январь, Феварь, Марарь, Апрарь… Excel?!

Наверняка ты при работе в Excel уже замечал выскакивающие иногда попытки программы помочь тебе в заполнении того или иного столбца – это так называемое «Мгновенное заполнение» (Flash Fill), работающее для распознавания шаблонов в твоих действиях.

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

1. Скопируй весь этот столбец с сокращёнными названиями месяцев и вставь в рабочем листе Excel, чтобы вышло как у меня в демонстрации:


янв

фев

мар

апр

май

июн

июл

авг

сен

окт

ноя

дек

2. Пропиши в соседней (слева или справа) от «янв» ячейке  полное название месяца «Январь»

3. Пока ты писал слово «Январь», Flash Fill уже искал закономерности в том, что ты делаешь. И сейчас ты в этом убедишься: Переходи в ячейку ниже и также начинай прописывать слово «Февраль». А вот и врывается в игру «Мгновенное заполнение», правда, достаточно интересным способом. Если нажимаем на Enter, то Excel «протягивает» предложенное решение:

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

Вот такой интересный пример. Тем не менее, не в коем случае не стоит из-за него отрицательно относиться к мгновенному заполнению. Дело в том, что программа распознаёт шаблон действий таким образом: берём первые три буквы из первого столбца и добавляем в конце «арь».

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

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

Кроме того, если ты хочешь узнать еще больше разных советов по работе в Excel (и особенно по автоматизации с помощью VBA), то приглашаю тебя подписаться на мой канал на YouTube! Вот, например, плейлист по шорткатам / фишкам и особенностям работы с функциями и формулами:

А это новый курс по VBA для новичков:

До встречи! 😊

P.S. Комбинация клавиш для того, чтобы заставить Excel попробовать найти шаблоны: CTRL + E

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

Как обрезать изображение по кругу

Приветствую всех любителей Excel, я давно не писал потому что у меня сломался компьютер, а с телефона годные посты с примерами делать проблематично. Я скоро решу этот вопрос и буду снова пилить новые интересные посты))


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

Чтобы это реализовать, выберите нужную картинку и перейдите в раздел Формат → Обрезать → Обрезать по фигуре.

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

Как обрезать изображение по кругу
205

Динамический график с картой – работает с любой версией Excel!

В последних версиях Excel есть возможность использовать встроенный тип графика «Картограмма»:

Динамический график с картой – работает с любой версией Excel!

Тем не менее, к сожалению, не у всех есть доступ к лицензионным последним версиям Microsoft Office. Поэтому, нужно выдумать собственный метод для создания подобных графиков с картами.

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

Приятного просмотра! 😊

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

Приемы редактирования текста в VS Code: мультикурсор

Visual Studio Code - текстовый редактор с отрытым исходным кодом, развиваемый компанией Microsoft. Благодаря огромному количеству расширений, написанных энтузиастами, эту программу можно превратить в мощный инструмент для широкого спектра задач, от програмирования до редактирования текстовых публикаций.


При работе с текстовыми файлами часто возникает необходимость массового редактирования некоторых фрагментов. С простыми случаями (заменить 'abc' на 'def') справляется интуитивно понятная функция автозамены, которая есть в любом распространённом редакторе. Но что делать, если Вам нужно, например, найти все слова, начинающиеся на букву "t", и поменять их местами со словом, которое идет после них?


Мультикурсор через поиск


Для начала давайте разберёмся, как составить выражение для поиска. Откроем стандатное окно поиска командой Ctrl-F (от слова Find) и вводим ' t'. Редактор автоматически подсвечивает найденные места (буква t, перед которой есть пробел), и мы можем заметить, что забыли о словах, перед которыми стоит знак препинания (например, кавычка или дефис). К счастью, в задачах вроде нашей приходят на помощь регулярные выражения, в частности, вида '\Wt', где \W - специальная последовательность, обозначающая начало слова. Активировать функцию "регулярок" можно кнопкой .*


Регулярные выражения - это отдельная очень большая тема. Если кому-то интересно, пишите в комментариях - напишу отдельный пост, посвященный им. Также можете изучить их самостоятельно на regexone.com и потренироваться на regex101.com


Теперь мы можем нажать Alt-Enter, и редактор вставит по курсору в каждом месте, где был найден искомый фрагмент:

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

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


Теперь можно вырезать выделенные фрагменты (Ctrl-X), переместиться на одно слово вправо (Ctrl-вправо) и вставить их (Ctrl-V). Если количество курсоров при вставке осталось неизменным, то каждый вырезанный фрагмент будет вставлен на своё место:

Конечно, пример "высосан из пальца", но есть немало задач, где этот способ будет полезен. Например, найти и заменить все email-адреса в тексте, исправить тэги в html или xml файле, поменять местами колонки в файле csv.


Вставка мультикурсора вручную


Множественные курсоры можно также вставить вручную, командами Ctrl-D (следующий совпадающий с выделенным фрагмент) и Ctrl-Shift-L (вставить курсоры в каждый фрагмент, совпадающий с выделенным). Например, я выделил фрагмент 'текст' и два раза нажал Ctrl-D:

Кстати, вам не нужно заучивать сочетания клавиш, которые я упомянул. Достаточно лишь запомнить "магическую" команду Ctrl-Shift-P, которая даёт доступ ко всем командам:

Причём поиск "умный", позволяет находить команды по первым буквам, например:

В эта статье я рассказал лишь о нескольких функциях, которыми обладает этот редактор. Вы можете найти больше полезной информации на официальном сайте: Visual Studio Code Tips and Tricks. Поделитесь в комментариях, какие функции и расширения VS Code Вы считаете самыми полезными.


TL;DR

Основные команды:

Ctrl-D - добавлять курсоры по одному, на каждое совпадение (с выделенным куском)

Ctrl-Shift-L - добавить курсоры на все совпадения

Alt-Enter (в окошке поиска) - добавить курсоры на все совпадения к запросу

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

Извлечение чисел из текста в Excel

Извлечь числа из строки текста в Excel, естественно можно с помощью формул. Например, в этом может помочь следующая формула массива:

Тем не менее, у использованной выше формулы есть определенные минусы:


• Во-первых, все числа, например, из текста «Задача 5 от 19 Ноября» выдаются не разделёнными, образую таким образом одно слитное число, тогда же как информация о том, что числа на самом деле в оригинальном тексте разделены другими словами потенциально может быть важной.


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


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

Function extractDelimitedNumbers(ByVal strOriginalText As String) As String

Dim strExtractedNumbers As String

Dim lngTextLength As Long

lngTextLength = Len(strOriginalText)

Dim lngPositionCounter As Long

'Проверка, указано ли название файла

If strOriginalText <> "" Then

'Проверка каждой позиции названия

For lngPositionCounter = 1 To lngTextLength

'Если число...

If IsNumeric(Mid(strOriginalText, lngPositionCounter, 1)) = True Then

'... то сохраняем в переменную

strExtractedNumbers = strExtractedNumbers & Mid(strOriginalText, lngPositionCounter, 1)

'Разделение отдельно стоящих в названии чисел с помощью "_"

If lngPositionCounter + 1 <= lngTextLength Then

If IsNumeric(Mid(strOriginalText, lngPositionCounter + 1, 1)) = False Then

strExtractedNumbers = strExtractedNumbers & "_"

End If

End If

End If

Next lngPositionCounter

'Удаляем по итогу лишний нижний пробел, если таковой имеется

If Right(strExtractedNumbers, 1) = "_" Then

strExtractedNumbers = Left(strExtractedNumbers, Len(strExtractedNumbers) - 1)

End If

extractDelimitedNumbers = strExtractedNumbers

Else:

extractDelimitedNumbers = ""

End If

End Function

Как использовать этот код:

1. Открыть файл Excel, в котором нужно применить функцию (лучше его копию)

2. Открыть редактор VBA с помощью комбинации клавиш Alt+F11

3. В верхнем левом углу нажать на «Insert» и затем «Module».

4. Скопировать текст функции и вставить в открывшееся окно в центре редактора VBA

5. Сохранить файл в формате xlsm (формат xlsx не сохраняет макросы!). Для этого открываем окно сохранить как при помощи клавиши F12 либо File -> Save as -> Browse. По открытии окна сохранения файла в поле «Тип файла» выбираем «Книга Excel с поддержкой макросов»

6. Подтверждаем сохранение. Теперь функция может использоваться как самая обычная функция на рабочем листе Excel. То есть ставим знак равно, и прописываем название нашей пользовательской функции «extractDelimitedNumbers». В скобках указываем текст, из которого должны быть извлечены числовые значения:

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

Конечно, для этого видео нужно уже владеть определенными знаниями VBA. Если ты еще совсем новичок в области VBA, то также могу предложить посмотреть вот этот курс VBA:

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

ВПР и Кофе (?!)

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

ВПР и Кофе (?!)

В первом столбце перечислялись напитки, а в оставшихся трёх были показаны цены трех возможных размеров стаканчиков – Tall (354 мл.), Grande (473 мл.), а также Venti (591 мл.).

Сравнивая цены различных предлагаемых напитков, я вдруг уловил себя на мысли, что при анализе цен мозг постоянно производит до боли знакомую операцию – ВПР из Excel! «Это же и есть классический вариант применения ВПР!» - подумал я.


Например, мы хотим заказать Кофе «Флэт Уайт» среднего размера, то есть «Grande». Вспомним синтаксис ВПР Excel:

ВПР(искомое_значение; таблица; номер_столбца; интервальный_просмотр)


Таким образом имеем следующее. Аргумент «искомое_значение» – это у нас напиток «Флэт Уайт». Таблица – это всё меню с предлагаемыми напитками. Номер столбца – это, считаем: раз, два, три – третий столбец, если начинать считать от первого столбца всего меню. Следовательно третий аргумент функции – тройка. Ну и последний аргумент – ЛОЖЬ, поскольку мы хотим заказать именно «Флэт Уайт», а не нечто похожее на этот напиток.


Производим расчёт функции в уме и узнаем, что заплатить нам придётся 255 рублей.


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


Вот такой интересный пример переплетения повседневности и работы в Excel.

Хороших выходных! 😊


P.S. Вот в этом видео я еще раз разобрал данный пример ВПР, только в видеоформате.

P.P.S. А вот в этом плейлисте Вы можете пошагово и в увлекательной форме (при этом структурированно и эффективно) изучить принцип работы с функциями и формулами Excel:

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

Excel редактирование CSV

Всем доброго времени суток. Выгружаю csv с сайта-конструктора , затем создаю новый документ в excel и  импортирую данные из csv файла. Все прекрасно открывается и редактируется. А как сохранить изменения именно в исходном csv файле? "Сохранить как - csv" не подходит, так как мы создаем новый файл, а не обновляем старый-отображение уже поменялось, и конструктор сайтов начинает жаловаться.

Если обновить данные, excel обновляет все от исходного csv файла, то есть все изменения откатываются(значок сбоку на скрине).

Простыми словами - чтобы в выгруженной мешанине внести правки и такую же мешанину скормить конструктору.

Excel редактирование CSV
Отличная работа, все прочитано!