Сообщество - MS, Libreoffice & Google docs
Добавить пост

MS, Libreoffice & Google docs

604 поста 14 043 подписчика

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

10

Дедлайн автоматом

Дедлайн автоматом Microsoft Excel, Google Таблицы, Таблицы Excel, Google docs

Добрый день.

Прошу помощи в написании таблички.

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

Здесь я вставил функцию:

=IF(ISNUMBER(A2),TODAY()," ")

логика такая: сотрудник присваивает документу номер и второй столбец автоматически наполняется датой получения документа на предприятии.
Столбец C - моя головная боль. О нём ниже.
Столбец D - раскрывающийся список, из которого мы можем выбрать тип заявки, из предусмотренных регламентом.
Столбец E - Здесь автоматически назначается исполнитель, к которому по внутреннему распорядку привязан тот или иной тип заявки. Здесь я вставил вот такую абракадабру:
=IF(REGEXMATCH(D2,"заявление"),"Иванов"
,IF(REGEXMATCH(D2,"письмо"),"Петров"
,IF(REGEXMATCH(D2,"уведомление"),"Сидоров"
,"")))

Итак, снова к столбцу C... Я бы хотел, чтобы подобно столбцу E этот столбец:
1 - опирался на тип заявки,
2 - прибавлял к уже назначенной дате (из столбца B) количество рабочих дней, отведённых на исполнение такой заявки по регламенту (см. колонки I и J для соответствующих дедлайнов, и колонку G для всех нерабочих дней грядущего года),
3 - очень опционально - выделял цветом те строки, у которых близится крайний срок исполнения.


В голове болтается логическая цепочка примерно следующего содержания:
Письмо => Петров => +10 рабочих дней => 23.03.23
Прошу подсказать, как эту логику можно выразить в таблице.

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

Приводим данные в порядок с помощью Microsoft Access (часть8)

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Microsoft Access предоставляет множество визуальных средств разработки приложения по работе с базой данных. Но рано или поздно возникает необходимость в более тонкой настройке отдельных ее частей и добавление нового функционала, который невозможно реализовать с помощью мастеров и конструкторов. Для этого Microsoft Access да и все программы из пакета MS Office могут расширять свой функционал с помощью встроенного языка программирования VBA (Visual Basic for Applications). Изучив основы языка VBA на одном из продуктов MS Office, в нашем случае это Access, его можно применять в других программах (Excel, Word, Power Point). Задачи автоматизации рутинных процессов не меняются долгое время. Не вдаваясь в новомодные течения, круг задач которые решает VBA будет востребован еще долго. Преимущества VBA в том, что он консервативен, но по прежнему востребован и не подвержен безумным обновлениям, что позволяет неискушенному пользователю спокойно и стабильно работать.

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

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Назовем ее main.

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Далее Файл -> Параметры -> Текущая база данных, опция Форма просмотра, в выпадающем списке выберем форму main. Форма будет открываться при запуске приложения и с помощью нее можно организовать навигацию и доступ к другим объектам базы данных.

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

На вкладке Работа с базами данных нажмем на кнопку Visual Basic. Откроется окно редактора VBA. В редакторе мы будем писать код, который сможет обращаться ко всем нашим объектам (таблицы, формы, запросы, отчеты и т. п.) и принадлежащим им элементам, менять их свойства и поведение.

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Минимальной структурной единицей программы на VBA является процедура (ее еще называют макросом). Процедура начинается со служебного слова Sub, далее следует имя процедуры (как правило отражает назначение процедуры), круглые скобки, заканчивается процедура служебной конструкцией End Sub. Внутри процедуры пишется код на языке VBA.


Sub MyFirstProcedure()

<Код на языке VBA>

End Sub

На панели инструментов нажмем Insert - > Module. Модуль это еще один объект нашей базы. В нем мы будем размещать наши процедуры, а затем вызывать их на исполнение. В окне кода модуля Module1 напишем следующее:


Sub MyFirstProcedure()

Debug.Print “Hello, world!”

End Sub

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся что у нас открыто окно Immediate (View -> Immediate Window), оно необходимо для того, чтобы иметь возможность увидеть результаты выполнения программы в процессе ее отладки. На панели инструментов нажмем зленый треугольник (Run Sub), в окне Immediate увидим результат выполнения процедуры.

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Теперь выведем наше приветствие на форму main. В режиме конструктора добавим текстовое поле и в окне свойств поля дадим ему имя txtHello.

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

С помощью VBA обратимся к этому полю из процедуры и поместим в него текст - Hello, world! Процедура будет иметь следующий вид:


Sub MyFirstProcedure()

Form_main.txtHello.Value = "Hello, world!"

End Sub

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Запустим ее на исполнение и убедимся, что текстовое поле txtHello формы main получило значение - "Hello, world!"

Приводим данные в порядок с помощью Microsoft Access (часть8) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Показать полностью 9
1081

Как быстро вставлять число прописью в Microsoft Word?

Чтобы перевести числа 1313 в расшифровку "одна тысяча триста тринадцать" нужно сделать следующее:


1. В нужном для вас месте текстового поля нажмите сочетание клавиш «Ctrl+F9». В тексте появится затененное поле с фигурными скобками.

2. Внутри фигурных скобок вставьте конструкцию вида «{ =1313 \*CardText }», где 1313 - это любое число, которое вы хотите видеть прописью.

3. Затем нажмите клавишу «F9», чтобы увидеть готовый результат.


* По умолчанию используются строчные буквы.

* Функция работает только с числами до 6 знаков, а дробную часть округляет до целого числа.

* Если при вводе формулы, раскладка клавиатуры будет на английском, то и текст будет на английском.

Как быстро вставлять число прописью в Microsoft Word? Microsoft Word, Формула, Полезное, Цифры
66

Приводим данные в порядок с помощью  Microsoft Access (часть7)

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Продолжим знакомство с SQL. Рассмотрим запросы на вставку, обновление и удаление данных.

Запрос на вставку данных начинается с оператора INSERT INTO, далее следует имя таблицы и в скобках перечисление полей таблицы в которые мы хотим добавить данные, затем оператор VALUES и в скобках значения полей через запятую. Важно правильно соотнести перечисление полей и значений, иначе из-за несовпадения типов вставка не произойдет или произойдет со вставкой данных не в те поля. Заметим, что текстовые значения полей мы заключаем в двойные кавычки, а вот значение поля [companyid] нет, так как значение данного поля числовое.

Запрос на вставку данных будет иметь вид:


INSERT INTO contacts (name, surname, email, companyid)

VALUES ("Мария", "Пыхтина", "mariya85@ya.ru", 1);


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

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся, что данные добавлены корректно.

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Запрос на обновление предназначен для изменения данных полей. Начинается запрос с оператора UPDATE, затем следует имя таблицы, оператор SET и перечисление полей с их новыми значениями.

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

Запрос на обновление данных будет иметь вид:


UPDATE contacts SET email="mariya85@rambler.ru" WHERE id =21;


Выполним запрос.

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся, что данные обновились.

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Запрос на удаление начинается с оператора DELETE, затем следует символ (*) - что означает удаление записи полностью, если же нам надо удалить значение нескольких полей мы пользуемся запросом на обновление, затем оператор FROM с указанием имени таблицы, сразу же добавим секцию WHERE иначе будут удалены все записи таблицы.

Удаленные записи нельзя будет восстановить. Поэтому делать это нужно крайне аккуратно. И не забывать о том, что у нас есть связанные данные в других таблицах, которые тоже придется удалять. Чаще всего данные отмечаются каким-либо признаком и просто исключаются из выборки. Для этого у нас может послужить поле [active]. Так же при удалении записи, значение поля [id] с типом данных счетчик исключается из счетчика.

Запрос на удаление данных будет иметь вид:


DELETE * FROM contacts WHERE id =21;


Выполним запрос.

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся, что указанная запись удалена.

Приводим данные в порядок с помощью  Microsoft Access (часть7) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Показать полностью 6
216

Приводим данные в порядок с помощью Microsoft Access (часть6)

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Основу работы с реляционными базами данных составляет язык структурированных запросов SQL (Structured Query Language). Это набор инструкций по манипулированию объектами базы данных, с помощью них мы можем создавать таблицы, добавлять в них данные, производить выборку данных, удалять данные и удалять таблицы. Для всего этого мы пользовались соответствующими мастерами, но под капотом Access формулировал эти задачи на языке SQL и даже генерировал для нас готовый SQL код. Основные команды языка применимы к большинству реляционных баз данных (MS SQL Server, Oracle, MySQL, PostgreSQL, SQLite и т. п.), это устоявшийся стандарт в мире реляционных баз. Различные СУБД расширяют возможности SQL собственным функционалом, но основной синтаксисе с незначительными особенностями применим ко всем.

Откроем наш запрос contacts в режиме SQL. В окне построителя запросов мы наблюдаем код на языке SQL, код сгенерировал Access, но мы бы могли написать его сами и он бы заработал. Разберемся в структуре SQL запросов на более простом примере.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Самыми распространенными запросами являются:

запрос на выборку;

запрос на вставку;

запрос на удаление.

Самый простой запрос на выборку начинается с оператора SELECT, затем следует перечисление необходимых полей, затем оператор FROM после чего указывается имя таблицы (таблиц) которым принадлежат эти поля, например:


SELECT name, surname, email FROM contacts;


В результате мы получим все записи таблицы contacts, представленные тремя полями. Если же мы хотим вывести все поля мы можем написать SELECT * FROM contacts; В конце инструкции ставится точка с запятой.

Через вкладку Создание откроем уже не Мастер запросов, а Конструктор запросов. Не будем выбирать таблицу предложенную диалоговым окном и перейдем в SQL режим. Напишем здесь уже известную нам конструкцию SELECT name, surname, email FROM contacts; и отправим ее на исполнение нажав на кнопку с красным восклицательным знаком.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Убедимся в правильности вывода, действительно программа вывела все записи представленные тремя полями

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Заменим перечисление полей в секции SELECT на символ * (звездочка):


SELECT * FROM contacts; и выполним запрос.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Результатом запроса будут все записи и все поля таблицы contacts.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Предположим нас интересуют только активные контакты. Реализуем это в SQL запросе, для этого существует оператор WHERE, это оператор условия. Запрос будет выглядеть следующим образом:

SELECT * FROM contacts WHERE active=true;


Иными словами показать все записи таблицы contacts где поле [active] имеет значение ИСТИНЫ, в SQL коде мы уже строго придерживаемся английского значения слова ИСТИНА – true и ЛОЖЬ – false.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Мы можем задавать несколько значений в секции WHERE. …WHERE условие1 AND условие2 AND условие3, перечисляя их через логические операторы AND. Например:


SELECT * FROM contacts WHERE active=true AND [regdate]= #27/10/2022#;


Запрос покажет все записи из таблицы contacts со значением поля [active] равным ИСТИНА и датой регистрации [regdate] равной 27.10.2022, заметим что дату мы обернули в символ решетки и разделили день, месяц, год через слеш, это необходимо при работе с датами в запросах.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

В нашем запросе contacts, помимо таблицы contacts, есть еще таблица phones. В запросах мы можем указывать больше одной таблицы, но необходимо указывать по каким полям будет объединяться результат, для этого существует оператор INNER JOIN. Вообще тема объединения таблиц довольна обширна, мы же рассмотрим самый распространенный вид объединения - внутренне. Наш запрос усложняется наличием двух таблиц, имена полей теперь необходимо указывать в формате – имя_таблица.имя_поля, так как в разных таблицах могут находится поля с одинаковыми именами и как мы помним у нас в обоих таблицах есть поле [id]. Запрос на объединение таблицы contacts и phones c возможностью выбора полей из обоих таблиц будет выглядеть следующим образом:


SELECT contacts.name, contacts.surname, contacts.email, phones.phone

FROMcontacts INNERJOIN phones ON contacts.id = phones.userid;


Иными словами код говорит – выбрать поля [name], [surname], [email], [phone] из объединенных таблиц contacts и phones, где каждой записи таблицы contacts соответствует запись из таблицы phones, в которых поля [id] и [userid] совпадают.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Выполним запрос нажав на красный восклицательный знак.

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост

Дополним наш запрос секцией WHERE, для выбора только активных контактов, при этом само поле [active] выводить не обязательно.


SELECT contacts.name, contacts.surname, contacts.email, phones.phone

FROM contacts INNER JOIN phones ON contacts.id = phones.userid

WHERE active=true;

Приводим данные в порядок с помощью Microsoft Access (часть6) Microsoft office, Microsoft Access, Windows, База данных, Компьютер, Длиннопост
Показать полностью 11
82

Приводим данные в порядок с помощью Microsoft Access (часть5)

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

В этой части мы познакомимся с ещё одним замечательным объектом Access – Отчеты (report).

Отчеты предназначены для наглядного вывода информации конечному потребителю, как правило отчеты имеют вид документов установленной формы (списки, справки и т. п.), которые распечатываются на бумаге, либо в привычных форматах (doc, pdf и т. п.) передаются пользователям.

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

На вкладке Создание выберем Мастер отчетов. В диалоговом окне в качестве источника данных выберем Запрос contacts. Заметим, что если бы мы выбрали в качестве источника таблицу, то на выбор у нас бы был только набор полей из этой таблицы, а в запросе contacts у нас есть набор полей из разных таблиц. Хотя мастер отчетов позволяет выбирать несколько таблиц и тем самым выбрать все нужные нам поля, в запросе contacts у нас есть условие – выводить только активные контакты.

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

Выберем для отчета поля [name], [surname], [email], [companyid], [phone], далее.

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

Завершим работу мастера. Теперь в области объектов базы данных появился новый объект – отчет contacts. Как и другие объекты базы, структуру отчета можно редактировать в режиме конструктора.

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

Изменим надписи полей на удобочитаемые.

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть5) Microsoft office, Microsoft Access, База данных, Windows, Длиннопост
Показать полностью 9
58

Приводим данные в порядок с помощью Microsoft Access (часть4)

Продолжим приводить наши данные в порядок.

Познакомимся с такими объектам базы данных как Запрсы (query). В работе с электронными таблицами, ярчайшим представителем которых является MS Excel, инструментом для выборки данных с заданными критериями является инструмент Фильтр. В Access этот инструмент тоже имеется и в некоторых случаях очень полезен. Но с ростом количества данных и усложнением их структуры каждый раз и под разные выборки манипулировать инструментом Фильтр становится сложнее. Для упрощения работы по выборке данных и существуют Запросы (в теории баз данных их еще называют представлениями).

Дополним таблицу contacts дополнительными данными для более наглядной работы с ней.

name;surname;email;companyid

Степан;Яковлев;Evgenij164@hotmail.com;ПАО Нефть

Игнат ;Богданов;Anton182@live.com;ПАО Теле

Евгений;Гурьев;Aleksandr91@bk.ru;ООО Компания ВодСантех

Марфа;Жукова;Marfa60@yahoo.com;ОАО МеталВостокОрион

Алина;Зуева;Alina124@msn.com; МКК ГорМобайл

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

Из вкладки Создание вызовем Мастер запросов.

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

Выберем простой запрос.

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

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

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

Результат простого запроса похож на обычную таблицу.

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

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

Отобразить таблицу и выберем таблицу phones, дважды кликнем на поле [phone], которое отобразится в наборе полей для запроса нижней части мастера запросов. Выполним запрос нажав на красный восклицательный знак панели инструментов.

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост

Заметим, что контакты которые у нас имеют два и более номера телефонов дублируются, но с разными телефонами, в последствие мы это исправим. Теперь в области объектов у нас появился новый объект – Запрос contacts и мы сможем использовать его в других объектах базы.

Приводим данные в порядок с помощью Microsoft Access (часть4) Microsoft office, Microsoft Access, Windows, Компьютер, Длиннопост
Показать полностью 7
18

Как построить такое в Excel?

Как построить такое в Excel? Microsoft Excel, Диаграмма

Добрый день.

Увидел на новостном сайте довольно интересный график, квартальная динамика внутри года/динамика по годам в целом. Как можно повторить его в Excel, есть идеи?

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