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

MS, Libreoffice & Google docs

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

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

840

Отмена автоматической замены кавычек в Word

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


Чтобы отключить автоматическую замену кавычек, нужно Перейти в раздел ФайлПараметрыПравописание. Затем, в разделе Параметры автозамены перейдите на вкладку Автозамена при вводе и уберите галочку с пункта "прямые" кавычки «парными», готово.


В этом разделе вы так же можете включить/отключить другие похожие функции.

Отмена автоматической замены кавычек в Word
3407

8 инструментов в Excel, которыми каждый должен уметь пользоваться

Решил собрать свой список инструментов Excel, которыми должен уметь пользоваться просто каждый (порядок от первого до последнего в списке роли почти не играет, все эти инструменты почти одинаково важны). Итак, эти инструменты:


1. Условное форматирование

2. Текст по столбцам

3. Фильтр и сортировка

4. Удаление дубликатов

5. Простой выпадающий список

6. Подсказка по вводу

7. Сводные таблицы

8. Примечания в ячейках


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

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

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

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

Как разделить одно поле на несколько в Microsoft Access

Всем привет! Первый пост, не судите строго.

Расскажу и пошагово покажу, как разделить одно поле на несколько полей, используя встроенные функции Microsoft Access.

Возьмем для примера поле "ФИО". Задача будет следующая: раскидать отдельно по полям фамилию, имя и отчество.

Для решения поставленной задачи нам понадобятся функции: Left, Mid, InStr и IIF. Никакого VBA использовать не будем. Только конструктор, только хардкор)))

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

Соответственно, чтобы вытащить фамилию, нам надо взять определенное количество знаков с левой части строки "ФИО". Здесь нам поможет функция LEFT.


У функции LEFT очень простой синтаксис.

LEFT([Строка];Число). [Строка] - это поле, с которым мы работаем. В нашем примере - поле "ФИО". Число - количество знаков, которое вытащит функция, с левой части поля "ФИО". Но проблема в том, что мы не знаем сколько символов указывать с левой стороны строки ФИО, так как у каждой персоны количество символов в фамилии разное.

Соответственно, нам нужна позиция первого пробела в поле "ФИО" между фамилией и именем. и здесь нам на помощь приходит функция InStr. Данная функция ищет позицию вхождения указанного символа в строке. InStr([Строка];Символ). [Строка] - это поле, в котором мы будем искать символ или группу символов. Символ - это то, что мы ищем.

В нашем случае получается: InStr([ФИО];" "). Далее данное выражение мы помещаем во второй параметр функции LEFT. Чтобы в поле "Фамилия" у нас не было лишнего пробела, для функции LEFT мы количество знаков во втором параметры уменьшаем на единицу.

Проверяем. Фамилия есть.

Далее нам необходимо найти позицию второго пробела в поле "ФИО" между именем и отчеством. Но для начала, мы вы вытащим из поля "ФИО" только имя и отчество. Здесь нам поможет функция Mid. Данная функция возвращает указанное количество знаков, начиная с указанного места строки.  Mid([Строка];Старт;Длина). [Строка] - это поле, с которым мы работаем, Старт - позиция в строке, с которой мы будем вытаскивать символы, Длина - сколько символов мы будем вытаскивать. Если Длина не указана, функция Mid берет символы с позиции Старт и до конца строки.

В нашем примере в качестве второго параметра функции Mid будет использована функция InStr, которая в свою очередь ищет первый пробел в поле ФИО. Соответственно, InStr([ФИО];" ") - это позиция Старт для функции Mid. Получаем: Mid([ФИО];InStr([ФИО];" "))

Чтобы не было лишнего пробела, позицию Старт увеличиваем на 1 символ.

Запоминаем, что Mid([ФИО];InStr([ФИО];" ")+1) выводит имя и отчество без фамилии.

И теперь здесь мы будем искать номер позиции пробела между именем и отчеством.

Напомню, за поиск символа отвечает InStr.

Позицию пробела находим так: InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")-1


Снова воспользуемся функцией LEFT. Получим, Left(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")-1)

Чтобы не запутаться: Mid([ФИО];InStr([ФИО];" ")+1) - это первый параметр функции LEFT (строка ИО (имя и отчество), с которой мы работаем). InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")-1 - второй параметр (сколько символов мы берем с начала ИО и до пробела).

В примере, есть записи без отчества, в таких случаях мы получим ошибку #Функ!. Пока не обращаем внимания, вернемся к этому моменту чуть позже.

Фамилию и имя получили, осталось отчество.

Здесь напишем: Mid(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")+1), где

Mid([ФИО];InStr([ФИО];" ")+1) - 1 параметр функции Mid, который указывает, что мы работаем с полем ИО. InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")+1 - второй параметр, позиция, с которой мы начинаем вытаскивать отчество, т.е с первого символа сразу после пробела.

Отчество выводится отдельно, но только в тех случаях, когда у нас хранится полное ФИО.

Вернемся к полю "Имя". Исправим ошибку #Функ! Воспользуемся функцией IIF. Синтаксис: IIF(Условие;ДА;НЕТ). Условие - это выражение, которое мы будем использовать в качестве проверки, ДА - выражение, которое вернется если условие ДА, НЕТ - выражение, которое вернется если условие НЕТ.


Соответственно, нам надо проверить равна ли 0 позиция пробела между именем и отчеством. У 8 и 9 записи пробела после имени нет, следовательно позиция равна 0.

Если позиция ровна 0: IIf(InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")=0;

тогда из ИО вытаскиваем имя, используя: Mid([ФИО];InStr([ФИО];" ")+1)

иначе Left(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")-1))


Целиком получаем: IIf(InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")=0;Mid([ФИО];InStr([ФИО];" ")+1);Left(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")-1))

Аналогично с отчеством.

Если позиция ровна 0: InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")=0

тогда в поле "Отчество" мы помещаем значение NULL (пусто),

иначе помещаем отчество: Mid(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")+1)

Целиком получаем: Отчество: IIf(InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")=0;Null;Mid(Mid([ФИО];InStr([ФИО];" ")+1);InStr(Mid([ФИО];InStr([ФИО];" ")+1);" ")+1))

Таким образом мы можем разделить поле MS Access на несколько полей. Если что-то осталось непонятным, ниже оставлю ссылку на видео, где более подробно разобрал данный пример.

Надеюсь помог! Это первый длиннопост, поэтому не судите строго!

Всем Удачи!

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

Диапазон дат в exel

Мегамозги, выручайте.
есть исходная таблица 1, из которой будут автоматически заполняться ещё 4 таблицы. В таблице 1 есть столбец С, в котором указана дата начала работы, и столбец D, в котором указана дата окончания работы. Таблица 2, это табель. В нем, в ячейках на каждый день должен быть отражен код "Я", либо "МВ", исходя из данных таблицы 1.
несколько дней уже голову ломаю, без вас ни как....

11

Как сделать раздачу купонов в Google Таблицах? Или Аналог

Добрый день!

Подскажите пожалуйста, никак не могу найти ответ в интернете, ситуация следующая:


Имеется 500-1000 сгенерированных системой купонов для бесплатной загрузки приложения с Play Marketa.


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

Просто разместить таблицу с 500 купонами проблематично, так как пользователь не будет проверять 123 первых купона до того как дойдет до не использованного и просто забьет на это дело.

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

807

Ответ на пост «Начальник сказал очистить таблицу от тысячи пустых строк за час? Выполняем за 15 секунд!»1

Не нашел, как вставить видео, кроме как ответом на пост. В общем есть забавный баг, на работе сталкивался ни раз, баг качует от версии к версии и на 2019 экселе все еще работает. Собсно как работает: Если нижняя полоса прокрутки сдвинута до левого края и закрывает область с выбором листов, то при попытке скопировать выделенные ячейки, эксель вешается и начинает потреблять ресурсы ЦПУ как не в себя.

8187

Начальник сказал очистить таблицу от тысячи пустых строк за час? Выполняем за 15 секунд!1

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

Задача: у нас есть всего час, чтобы избавить таблицу от этих пустых строк. Естественно, вручную здесь никак не управиться, так что вот лайфхак.


Выбираем целиком один из столбцов, щелкнув по его заголовку:

Используем комбинацию клавиш CTRL+G и щелкаем по «Выделить»:

В следующем окне выбираем «Пустые ячейки» и нажимаем на ОК:

Excel выбрал все пустые ячейки, так что теперь используем комбинацию клавиш CTRL+- (контрол минус), в открывшемся окне выбираем опцию «Строку» и нажимаем на ОК:

Вот и всё! Задача выполнена меньше, чем за минуту (а этих пустых строк в таблицы могли быть хоть тысячи!).

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

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

Автозаполняемая форма Excel

Добрый день умные люди, может подскажете?

Есть таблица с определенным набором данных. Код и в зависимости от кода разный объем информации.

На основании этой таблицы хочу сделать авто заполняемую форму:

Идея в чем - выбираем нужный код из выпадающего списка и в заданной (в данном случае ячейке справа) выводится информация из первой таблицы. (Текст1,2,3,4 и т.д.)


Подскажите в сторону каких формул копать?

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