В приложениях мы часто сталкиваемся с необходимостью экспортировать плоские файлы данных из системы или базы данных, обычно в txt, csv или excel. Txt и csv обычно используются для обмена данными между системами, и Excel обычно имеет лучший эффект отображения. Его можно экспортировать в соответствии с определенным шаблоном, и экспорт не нужно набирать. Он прост в использовании. Если он используется в качестве отчета, он обычно экспортируется в файл Excel.
Однако экспортировать данные в Excel с помощью компонента com очень медленно. Другой способ создания файлов Excel — это быстрый экспорт данных через html и css и одновременная установка стиля. У этого метода есть два преимущества: 1 — быстрый, 2 — это быстрый. Нет необходимости устанавливать поддержку Excel.
При экспорте файлов с использованием этого метода иногда возникает проблема, то есть экспортированный Excel часто автоматически распознает наши данные как другие форматы, например, поля с только чистыми числами будут автоматически распознаваться как цифровые форматы после экспорта в Excel , И как только число превысит 11 цифр, Excel отобразит его в форме научной записи, такой как идентификационный номер, номер телефона с кодом города и т. Д.
Существует много решений, но я привожу только одно, которое мне кажется лучшим, то есть использовать CSS для применения атрибута mso-number-format к полю таблицы (например, <TD>), где возникает проблема, и использую этот атрибут для указания ячейки. Формат данных, чтобы избежать автоматического преобразования формата Excel. mso-number-format — это формат, предоставляемый Office. Если вы конвертируете офисный документ в HTML, такая отметка будет. MSO означает Microsoft Office.
Пример:
<style type=»text/css»>
.format{
mso-number-format:’@’;
}
</style>
<td Class=»format»>123456789012345</td>
Добавлено в css: mso-number-format определяет формат данных, формат может быть просмотрен в Excel, пользовательский формат, вы можете обратиться к:
mso-number-format:»0″ NO Decimals
mso-number-format:»0.000″ 3 Decimals
mso-number-format:»#,##0.000″ Comma with 3 dec
mso-number-format:»mm/dd/yy» Date7
mso-number-format:»mmmm d, yyyy» Date9
mso-number-format:»m/d/yy h:mm AM/PM» D -T AMPM
mso-number-format:»Short Date» 01/03/1998
mso-number-format:»Medium Date» 01-mar-98
mso-number-format:»d-mmm-yyyy» 01-mar-1998
mso-number-format:»Short Time» 5:16
mso-number-format:»Medium Time» 5:16 am
mso-number-format:»Long Time» 5:16:21:00
mso-number-format:»Percent» Percent - two decimals
mso-number-format:»0%» Percent - no decimals
mso-number-format:»0.E+00″ Scientific Notation
mso-number-format:»@» Text
mso-number-format:»# ???/???» Fractions - up to 3 digits (312/943)
public bool ExportToExcel(System.Data.DataTable dataTable, System.Web.HttpContext curContext)
{
System.Web.UI.WebControls.DataGrid dgExport = null;
// текущий разговор
//System.Web.HttpContext curContext = System.Web.HttpContext.Current;
// IO используется для экспорта и возврата в файл Excel
System.IO.StringWriter strWriter = null;
System.Web.UI.HtmlTextWriter htmlWriter = null; if (dataTable != null && dataTable.Rows.Count>0)
{
// Название столбца преобразования - китайский
for (int i = 0; i < dataTable.Columns.Count; i++)
{
dataTable.Columns[i].ColumnName = ColNameConvertToName(dataTable.Columns[i].ColumnName);
}
// Установить кодировку и формат вложения
curContext.Response.ContentType = "application/vnd.ms-excel";
curContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
curContext.Response.Charset = "";
curContext.Response.AppendHeader("Content-Disposition", "attachment;filename= export.xls");
// Экспорт файла Excel
strWriter = new System.IO.StringWriter();
htmlWriter = new System.Web.UI.HtmlTextWriter(strWriter);
// Чтобы решить возможность подкачки в dgData, необходимо переопределить DataGrid без подкачки
dgExport = new System.Web.UI.WebControls.DataGrid();
dgExport.DataSource = dataTable.DefaultView;
dgExport.AllowPaging = false;
dgExport.DataBind();
// возврат к клиенту
dgExport.RenderControl(htmlWriter);
curContext.Response.Write(strWriter.ToString().Replace("<td", "<td STYLE='MSO-NUMBER-FORMAT:\@'"));
curContext.Response.End();
return true;
}
return false;
}
-
Технология работы с базой данных.
-
Понятия абсолютных, относительных и смешанных ссылок, используемых в формулах и функциях табличного процессора mso Excel.
Для ввода в формулу
значения из фиксированной ячейки ( адрес
которой при копировании или перемещении
формулы остается неизменным) используются
абсолютные ссылки.
При их обозначении в написание адреса
ячейки добавляется знак доллара,
например, $A$20,
$lA$200.
Этот знак вводится вручную с клавиатуры
или путем нажатия клавиши <F4>
( после установки курсора в нужную
позицию). Знак доллара используется
дважды: один – перед именем столбца,
другой – перед номером строки.
В случае изменения только
одного значения адреса и фиксации
другого используются смешанные
ссылки. Знаком $
фиксируется только имя столбца (например,
$A9)
или имя строки.
Относительные ссылки
по умолчанию. Это
означает, что при копировании формулы
ссылки на адреса будут изменяться
относительно начального местоположения
настолько, насколько произошло смещение.
-
Использование встроенных функций разных категорий в mso Excel.
Функции
– заранее определенные в Excel формулы,
которые выполняют вычисления по заданным
величинам, называемым аргументами, и в
указанном порядке.
Пример:
Функция СУММ суммирует значения в
диапазоне ячеек, а функция ТДАТА выдает
текущую дату.
Аргументы.
Список
аргументов может состоять из чисел,
текста, логических величин (например,
истина или ложь), массивов или ссылок.
Аргументы могут быть как константами,
так и формулами. Формулы, в свою очередь,
могут содержать другие функции.
Структура.
Любая
функция начинается с указания имени
функции, затем следует открывающая
скобка, указываются аргументы, отделяющиеся
точками с запятыми, а затем – закрывающая
скобка. Если написание формулы начинается
с функции, перед именем функции вводится
знак равенства (=).
Функции
можно вводить непосредственно в строке
формул, т.е. непосредственно в ячейку.
Однако
удобнее использовать Мастер функций,
выводящий специальное диалоговое окно.
В левом поле этого окна перечислены
категории функций, а в правом – функции,
соответствующие выбранной категории.
Все
функции разделены по категориям, чтобы
в них было проще ориентироваться
(математические, статистические,
логические, дата и время, текстовые,
финансовые, ссылки и массивы, работы с
базой данных, проверка свойств и
значений).
Математические
функции
позволяют легко выполнить операции над
числовыми значениями: возведение в
любую степень, извлечение корня любой
степени, нахождение логарифма и т.д.
Функции
этой категории требуют для своей работы
обязательного ввода как минимум одного
значения аргумента. Математические
функции позволяют решать задачи
комбинаторики.
К
категории математических функций
относятся три функции для работы с
матрицами, знание которых полезно для
решения линейных уравнений.
МОБР
–
возвращает в выделенный диапазон
обратную матрицу для матрицы, хранящейся
в массиве. Массив – это числовой массив
с равным количеством строк и столбцов.
Массив может быть задан как диапазон
ячеек, например А1:С3 или как имя диапазона
или массива.
МОПРЕД
–
возвращает определитель матрицы.
МУМНОЖ
– возвращает произведение матриц,
хранящихся в массивах 1 и 2.
Текстовые
функции
– имеется возможность обрабатывать
текст, т.е. находить символы, извлекать
нужные символы, записывать символы в
строго определенное место текста и др.
Они хорошо изложены в Справке.
СЦЕПИТЬ
– объединяет несколько текстовых строк
в одну
ДЛСТР
– возвращает количество знаков в
текстовой строке
С
помощью функций
даты и времени
можно решать любые задачи, связанные с
учетом даты и времени: определить
возраст, вычислить стаж работы, определить
число рабочих дней на любом промежутке
времени.
Логические
функции помогают
создавать сложные формулы, которые в
зависимости от выполнения задаваемых
условий будут совершать различные виды
обработки данных. Эта группа встроенных
функций используется при решение многих
экономических задач, где в зависимости
от тех или иных условий решение должно
пойти по одной или другой ветви. В
качестве условий может быть равенство
или неравенство сравниваемых величин,
причем возможно несколько сравнений
для выборахода решения, вложение
логических или иных функций друг в
друга.
Функции
Ссылки и массивы.
Финансовые
функции. Эта
категория функций представляет из себя
программы решения достаточно стандартных
задач по расчету финансовых показателей,
связанных с анализом ссуд, сроков их
погашения, инвестиционных вложений и
т.д.
КПЕР
— определение количества периодов на
основе постоянных выплат и постоянной
процентной ставки.
ПЛТ
— определение суммы периодического
платежа на основе постоянных сумм
платежей и постоянной процентной ставки.
ПРОЦПЛАТ
— вычисление процентов на определенный
период.
ПС
— определение размера инвестиций.
БС
— определение будущей стоимости на
основе периодических платежей и
постоянной процентной ставки.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Содержание
Тема | Ссылка |
---|---|
Содержание… | Стр.01 |
Microsoft Excel входит в состав Microsoft Office (офисный пакет приложений). | Стр.02 |
Что такое Excel и кому он нужен. | Стр.03 |
Где взять Excel, как установить. Лучшие альтернативы Excel. | Стр.04 |
Как запустить Excel. Где находится запускаемый файл Excel. | Стр.05 |
Excel после успешного запуска. Первые шаги. | Стр.06 |
Excel. Разминочная тренировка. Выполняется на листе «Тренировка». | Стр.07 |
Распределение фонда премий. | Стр.08 |
Турнирная таблица. Новогодний шахматный турнир 2023. Использование VBA для расчета коэффициента Бергера и итоговых мест. | Стр.09 |
Заключение. Лайфхаки. Ссылки. Пожелания. Развлечения. | Стр.10 |
Microsoft Excel входит в состав Microsoft Office (офисный пакет приложений).
Поскольку функционал работы с электронными таблицами Microsoft Excel входит в состав Microsoft Office (новый бренд Office 365 начиная с октября 2022-го года), то начнем с описания этого набора офисных программ. Здесь мы этот набор будем называть просто по-русски «Офис» будут подразумеваться наборы программ «Microsoft Office» и «Office 365».
Прошла целая эпоха развития версий «Microsoft Office» и «Office 365». Мы с вами здесь будем работать, пожалуй, с самой популярной на сегодня версией «Microsoft Office 2010», по умолчанию, если не будет особых оговорок.
В состав пакета «Офис» могут входить разные программы, в зависимости от версии. Здесь мы дадим описания наиболее популярных программ. При этом Microsoft Excel является по популярности программой номер 1 или номер 2 (после Microsoft Word).
- Microsoft Word. Редактор текстов, текстовый процессор. Есть версии для Windows, Android и macOS.
Основные форматы файлов, с которыми работает Microsoft Word: двоичный формат файлов Microsoft Word 97—2003 (расширение «.doc») и Office Open XML, который представляет собой ZIP-архив (расширение «.docx»).
Программы — конкуренты: LibreOffice Writer, OpenOffice Writer, KWord, NeoOffice Writer, Corel WordPerfect, Apple Pages (macOS), SoftMaker Office TextMaker, AbiWord. - Microsoft Excel. Электронная таблица, табличный процессор. Есть версии для Windows и macOS.
Основные форматы файлов: двоичный формат файлов (расширение «.xls») и формат Office Open XML (расширение «.xlsx»).
Программы — конкуренты: LibreOffice Calc, OpenOffice Calc, KCells, Gnumeric, Corel Quattro Pro, Apple Numbers (macOS), SoftMaker Office PlanMaker. - Microsoft Access (MS Access). Реляционная система управления базами данных (СУБД).
Основные форматы файлов: в MS Access 2003 и более ранних версиях расширение «.mdb» и с версии 2007 основной формат имеет расширение «.accdb».
Программы — конкуренты: LibreOffice Base, OpenOffice Base, Kexi. - Microsoft PowerPoint. Программа подготовки презентаций и просмотра презентаций. Есть версии для Windows и macOS.
Основные форматы файлов: «.ppt», «.pptx», «.pptm», «.pdf», «.xps», «.potx», «.potm», «.pot», и др.
Программы — конкуренты: LibreOffice Impress, OpenOffice Impress, KPresenter, Corel WordPerfect, Apple Keynote (macOS), SoftMaker Office Presentations. - Microsoft Outlook. Не путать с Outlook Express, это другое! Microsoft Outlook — почтовый персональный коммуникатор. В состав Outlook входят: календарь, планировщик задач, записки, менеджер электронной почты, адресная книга. Поддерживается совместная сетевая работа. Есть версии для Windows и macOS.
Основные форматы файлов: «.pst».
Программы — конкуренты: Mozilla Thunderbird SeaMonkey, Novell Evolution, Claws Mail, Eudora Mail, The Bat!, Sylpheed, Lotus Organizer, Novell Evolution.
Эта «Большая Пятерка» представляет собой ядро функционала «Офис». Остальные программы, входящие в «Офис» намного менее популярны.
Что такое Excel и кому он нужен.
Microsoft Excel. Электронная таблица (ЭТ), табличный процессор.
Excel (Ексел, Эксел, Ексель) относится к типу программ «электронная таблица» («spreadsheet»). «Электронная таблица» позволяет проводить вычисления с данными, представленными в виде двумерных массивов, т.е. таблиц. Excel организует данные в т.н. «листы».
ЭТ — удобный инструмент для автоматизации вычислений. Многие расчеты в области бухгалтерского учета выполняются в табличной форме: балансы, сметы расходов, расчетные ведомости и пр.
Многие типы математических, учебных и научных задач удобно выполнять в табличной форме. Использование математических формул в ЭТ позволяет представить взаимосвязь между параметрами реальной системы. Решения вычислительных задач, которые раньше можно было произвести только с помощью программирования, стало возможным реализовать через математическое моделирование в ЭТ, в т.ч. и в Excel.
Кому нужен Excel
- Школьнику и студенту для упрощения процесса решения арифметических, математических и пр. задач.
- Бухгалтеру для составления балансов, смет расходов, расчетных ведомостей.
- Программисту для составления программ на встроенном языке VBA (Visual Basic for Applications, Visual Basic для приложений).
- Домохозяйке или домохозяину для ведения некоторых простых элементов домашней бухгалтерии.
- Частному предпринимателю для составления отчетов для налоговых органов.
Где взять Excel, как установить. Лучшие альтернативы Excel.
Урл для скачивания «Офиса»:
https://www.microsoft.com/ru-ru/microsoft-365/get-started-with-office-2021?market=ru
Однако, из-за санкций на данной страничке есть вот такое вдохновляющее сообщение:
Майкрософт приостановил все новые продажи продуктов и услуг в Беларуси и России.
Не совсем понятна политика в отношении продуктов и услуг, установленных ранее, но имеет смысл присмотреться к альтернативным решениям, разработанным другими компаниями.
Предлагаю вашему вниманию 5 лучших по моему мнению альтернативных разработок для «Офиса» вообще и Екселя в частности.
- МойОфис. Бесплатные редакторы текстовых документов и электронных таблиц для решения повседневных задач на домашнем компьютере.
В состав входит «МойОфис Таблица», этот редактор электронных таблиц для проведения экономико-статистических расчетов и решения повседневных задач является заменой Екселю.
Пакет «Стандартный. Домашняя версия.»
Бесплатные редакторы текстовых документов и электронных таблиц для решения повседневных задач на домашнем компьютере.
Это российская разработка, в рамках импортозамещения. Включен в Реестр отечественного ПО.
Сайт проекта здесь:
https://myoffice.ru/products/standard-home-edition/ - SoftMaker FreeOffice. FreeOffice 2021. Лучшая бесплатная альтернатива Microsoft Office.
Пакет FreeOffice 2021 бесплатен для персонального и коммерческого использования.
Попробовав его в деле, вы, без сомнения, согласитесь, что это лучшая бесплатная альтернатива Microsoft Office.
FreeOffice 2021 содержит полный набор офисных приложений, состоящий из текстового редактора, приложения для работы с электронными таблицами и программы для создания презентаций — все полностью совместимы со своими аналогами от Microsoft Office.
В чем подвох? В том, что его нет. Просто бесплатно скачайте FreeOffice и используйте так долго, сколько хотите. Ежедневно миллионы людей с удовольствием пользуются этим отличным и бесплатным офисным пакетом.
Системные требования:
Windows 11, 10, 8, 7, Windows Server 2008 R2 или более поздняя версия
macOS 10.12 или более поздняя версия
Любая 64-разрядная версия Linux для ПК
Сайт проекта здесь:
https://www.freeoffice.com/ru/ - LibreOffice. Ideal for home users, students and non-profits. ЛибраОфис — идеальное решение для домашних пользователей, студентов и некоммерческих организаций.
Eng. LibreOffice is community-driven and developed software, and is a project of the not-for-profit organization, The Document Foundation. LibreOffice is free and open source software, originally based on OpenOffice.org (commonly known as OpenOffice), and is the most actively developed OpenOffice.org successor project.
LibreOffice is developed by users who, just like you, believe in the principles of Free Software and in sharing their work with the world in non-restrictive ways.
Рус. ЛибраОфис — это программное обеспечение, разработанное сообществом, и является проектом некоммерческой организации Document Foundation. ЛибраОфис — это бесплатное программное обеспечение с открытым исходным кодом, первоначально основанное на OpenOffice.org (широко известный как OpenOffice), и является наиболее активно разрабатываемым OpenOffice.org проектом-преемником.
Проект-преемник разработан пользователями, которые, как и вы, верят в принципы свободного программного обеспечения и в то, что они могут делиться своей работой со всем миром без каких-либо ограничений.Сайт проекта здесь:
https://www.libreoffice.org/download/download-libreoffice/ - WPS Office. Includes Writer, Spreadsheet, Presentation, and PDF Editor. Включает текстовый редактор, электронную таблицу, Презентатор и редактор PDF.
Eng. Improve work efficiency and inspire your creativity with 170 million WPS Office users worldwide.
WPS Standard meets daily office and study requirements of individuals and teams.
Free!
Supports Windows, macOS, Linux, Android, and iOS.
Рус. Повысьте эффективность работы и вдохновитесь через творчество 170 миллионов пользователей WPS Office по всему миру.
Стандарт WPS отвечает ежедневным офисным и учебным требованиям отдельных лиц и команд.
Бесплатно!
Работает на Windows, macOS, Linux, Android, and iOS.
Сайт проекта здесь:
https://www.wps.com/ - Apple iWork. Тексты, таблицы и презентации.
Pages, Numbers и Keynote идеально подходят для создания прекрасных документов. В вашем распоряжении шаблоны и инструменты оформления, которые очень легко освоить. Вы даже можете добавлять иллюстрации и заметки в документы на iPad с помощью Apple Pencil. А благодаря встроенным функциям для совместной работы в режиме реального времени вы и ваши коллеги можете заниматься одним проектом одновременно на своих Mac, iPad, iPhone и даже на PC.
Совместимо с Microsoft Excel.
Ваш коллега пользуется Microsoft Excel? Для Numbers это не проблема, а рабочая возможность. Сохраняйте таблицы Numbers в формате Excel. Или импортируйте и редактируйте таблицы Excel прямо в Numbers.
Вы и ваши коллеги можете заниматься одним проектом одновременно на своих Mac, iPad, iPhone и даже на PC.
Сайт проекта здесь:
https://www.apple.com/ru/iwork/
Вот такие альтернативы можно использовать в случае необходимости.
Здесь мы будем (пока не запретили окончательно) использовать Эксель из Майкрософт Офис 2010.
Любой альтернативный процессор таблиц, перечисленный выше, очень похож на эту версию, поэтому, в любом случае особых проблем в изучении не будет.
Как запустить Excel. Где находится запускаемый файл Excel.
Возможно, добрый сисадмин, который устанавливал «Офис» на вашей рабочей станции также, заодно, установил соответствующие иконки с ссылками на вашем рабочем столе.
В этом случае мы можем запустить Excel просто кликнув двойным кликом мыши по иконки Экселя или нажав на иконке ПКМ (правой кнопки мыши) и выбрав пункт «Открыть» из контекстного меню.
Не надо отчаиваться, если нужной иконки нет на рабочем столе. Можно попробовать поискать Excel в меню программ в группе «Офиса».
Можно также попробовать воспользоваться поиском по строке «EXCEL».
Но самое правильное, это знать, где находится исполняемый файл, а находится он примерно здесь:
c:Program Files (x86)Microsoft OfficeOffice14EXCEL.EXE
И запуск производить из командной строки.
Обратите внимание, что кавычки в данном случае обязательны, т.к. путь к файлу имеет символы пробела.
Скопипастите строку вот в таком виде:
И еще дружеский совет для лучшего освоения данного материала.
Пройдите, предварительно курс:
Cmd.exe. Командная Строка.
Это будет Вам особенно полезно, если вы на дистанционной работе.
Если тем или иным способом Эксель был успешно запущен, то перед вами должно появиться примерно такая картинка.
Обратите внимание, что у нас по дефолту (умолчанию) открылась книга под названием «Книга1», а в этой книге есть 3 листа под именами «Лист1», «Лист2», «Лист3».
Если Эксель (либо альтернативу из списка выше) так и не удалось запустить, возможно, он просто не установлен. Трудно найти Эксель на незнакомом компьютере, особенно, когда его там нет.
Excel после успешного запуска. Первые шаги.
Шаг 1. Записать текущую книгу в виде файла.
Я предлагаю для нашего первого учебного файла следующие настройки.
- Имя файла с расширением: study2023.xls — имена файлов всегда лучше давать используя английские буквы и арабские цифры. Это уменьшает вероятность возникновения непонятных и неприятных глюков и ошибок.
- Расширение: .xls — это старое расширение, см выше теорию вопроса. Это мы делаем просто на всякий случай. Вдруг кто-то из нас будет использовать альтернативный софт, а там поддержка только этого формата. Учтем этот момент.
- Папка: d:msoexcel — лучше сделать папку для наших учебных примеров на диске D:, т.к. обычно диск C: является системным и лучше его вообще не трогать без необходимости для повышения безопасности. А если только один диск C: и есть на текущей рабочей станции? Тогда плюньте на повышение безопасности и работайте на диске C:.
Теперь в Экселе нажмите последовательно:
Файл —
Сохранить как
Теперь вводим опции, которые мы определили выше.
Папка:
d:msoexcel
Имя файла:
study2023.xls
Тип файла:
Книга Excel 97-2003 (*.xls)
Нажимаем кнопку «Сохранить».
Обратите внимание, теперь вверху отображается не безликое дефолтное имя «Книга1», а наше конкретное имя конкретного файла: «study2023.xls».
Шаг 2. Переименование листов нашей книги.
Сейчас в нашей книге 3 листа, которые имеют дефолтные имена: «Лист1», «Лист2», «Лист3».
Переименуем эти листы, чтобы было понятно, что там у нас будет конкретно.
Тыкаем ЛКМ (Левой Кнопкой Мыши) в лист, затем нажимаем ПКМ (Правую Кнопку Мыши), затем из контекстного меню выбираем пункт «Переименовать» и даем нашим листам вот такие имена:
- Тренировка
- Распределение фонда премий
- Турнирная таблица
Должно получится так.
Теперь небольшой перерыв (примите ванну, выпейте чашечку кофе и пр.) и на следующей странице выполним разминочную тренировку.
Excel. Разминочная тренировка. Выполняется на листе «Тренировка».
Чтобы сходу прокачаться, познать на практике типовые экселевские приемы, выполним несколько тренировочных упражнений.
Выполнять их будем на листе «Тренировка».
Упражнение 1. Изменение высоты столбца и ширины строки.
По дефолту (умолчанию) ширина столбца имеет странное значение: 8,43.
А высота строки: 15.
Выделяем столбец «A» кликнув мышкой на его заголовок, затем ПКМ вызываем контекстное меню, там делаем выбор пункта «Ширина столбца».
Вводим значение: 50 (например)
В ответ на эти действия столбец должен изменить свою ширину на заданное значение.
Выделяем строку «1» кликнув мышкой на ее заголовок, затем ПКМ вызываем контекстное меню, там делаем выбор пункта «Высота строки».
Вводим значение: 50 (например)
В результате этих манипуляций получаем большую ячейку «A1».
Упражнение 2. Ввод информации в ячейку.
Попробуем ввести информацию в нашу большую ячейку «A1».
Кликаем мышкой сначала непосредственно в саму ячейку (чтобы дать понять Экселю, что мы будем вводить именно в эту ячейку), затем кликаем в строку ввода и вводим какой-то текст, например: Тренировка по изучению Экселя.
Окончание ввода фиксируем нажатием кнопки «Enter».
Аналогичным образом мы можем изменить контент (содержание) этой ячейки, если, например, вдруг увидели какую-то ошибку.
Упражнение 3. Изменение свойств ячеек, объединение ячеек.
Чтобы сделать наш заголовок покрасивее, давайте, сделаем следующее.
Выделим ЛКМ несколько ячеек:
«A1»,
«B1»,
«C1»,
«D1»,
«E1»,
«A2»,
«B2»,
«C2»,
«D2»,
«E2».
Затем по всей этой группе выделенных ячеек жмем ПКМ и выполняем следующие манипуляции:
Формат ячеек — текстовый.
Выравнивание: везде по центру. Тут ставим галку «Объединение ячеек».
Шрифт: Courier New, размер 20, полужирный.
Заливка: желтая.
И после всех этих изменений нажимаем «ОК».
В результате должно получиться вот так:
Упражнение 4. Формула подсчета суммы.
В рамках этого упражнения сделаем следующее.
Увеличим ширину столбца до 20.
В ячейку «A3» введем значение: ФИО
В ячейку «B3» введем значение: Премия
Эти ячейки выровняем по центру, выделим жирным и голубым цветом.
Ячейки «A4», «A5», «A6», «A7» заполним произвольной текстовой информацией, выровняем по левому краю с отступом 1.
В ячейку «A8» напишем текст ИТОГО, эту ячейку выравниваем по центру.
Ячейки «B4», «B5», «B6», «B7», «B8» сделаем числовыми (2 знака после запятой) и выравниваем их по правому краю с отступом 1.
Ячейки «B4», «B5», «B6», «B7», заполняем произвольной числовой информацией, ячейку «B8» оставляем пустой.
Должно получиться примерно так:
Теперь ткните мышкой в ячейку «B8».
Затем ткните мышкой в значок «сумма»
∑ вверху.
Сумма должна посчитаться и отобразиться в ячейке «B8».
!Важно!
В ячейке «B8» у нас хранится формула для расчета: =СУММ(B4:B7)
А отображается рассчитанная сумма. Новичку это понять иногда бывает трудно, но надо постараться, потренироваться хотя бы несколько минут, и понимание этих тонкостей придет само собой.
Магия электронной таблицы тут в следующем: если мы изменим значения в ячейках от «B4» до «B7», то сумма в ячейке «B8» будет пересчитана.
Представьте такую типичную ситуацию. Сделана ведомость для премии небольшой группы, человек 100, а директор в последний момент дал указание: трем специалистам премию увеличить, а двум — уменьшить.
Если бухгалтер владеет Экселем, то для него (нее) это вообще не проблема, а обычная легкая задача.
Упражнение 5. Формат ячейки типа «общий» — ловушка для новичков.
По дефолту (умолчанию) форматом ячейки является тип «общий».
Много лет работаю с Экселем и не могу понять, зачем так сделано? Формат «общий» является просто опасным для новичков и не может быть рекомендован к использованию.
Поясню свою мысль на примере.
Давайте ячейку «A9» оставим с типом «общий», а ячейку «A10» сделаем с типом «текстовый».
Теперь представим себе типичную ситуацию. Бухгалтер составляет ведомость для зачисления денег на банковские счета получателей.
Возмьмем для примера счет с этой страницы, чтобы максимально приблизиться к реальному миру.
БИК: 044525225
Расчетный счет: 40817810156003706312
Корреспондентский счет: 30101810400000000225
Допустим, бухгалтер в ячейки «A9» и «A10» вводит 20-ти значные счета, в нашем случае, это счет 40817810156003706312.
И если к ячейке «A10» (тип «текстовый») нет претензий и вопросов, то к ячейке «A9» есть сложные вопросы и большие претензии.
Мало того, что отображение вот в таком странном формате:
4,08178E+19
Так и по факту значение счета испорчено и теперь имеет значение:
40817810156003700000
И если бухгалтер не заметил такой автоматической коррекции, то все пропало! Деньги ушли не туда! А если таких записей не одна, а несколько?
Запомните коварство типа «общий» и очень аккуратно с ним работайте, а лучше просто сразу меняйте на «текстовый».
Упражнение 6. Копирование контента. Копирование стилей.
Копирование — очень часто используемый метод при работе в Экселе.
Кликаем мышкой в ячейку «A10»
Вызываем контекстное меню нажатием ПКМ и выбираем пункт «копировать».
Кликаем мышкой в ячейку «A11»
Вызываем контекстное меню нажатием ПКМ и выбираем пункт «вставить».
Теперь в ячейке «A11» у нас тот же контент и оформление, как и в ячейке «A10»
Обратите внимание: Эксель нас заботливо предупреждает, что в ячейке у нас вроде как число (20 цифр), но формат ячейке текстовой. Забавно, что когда он портит информацию, то никаких предупреждений не делает — см см предыдущее упражнение.
Теперь, давайте, сделаем следующее.
В ячейке «A12» напишем текст: Первоисточники
Также поменяем свойства ячейки «A12».
- Увеличим высоту строки: 30
- Увеличим размер шрифта: 20
- Сделаем выравнивание контента ячейки по центру
- Фоновую окраску ячейки сделаем вот таким цветом
В ячейке «A13» напишем текст: https://wpvi.ru/pages/soft/excel/
В ячейке «A14» напишем текст: https://wpvi.ru/pages/video/00054/
Но при этом форматирование ячеек «A13» и «A14» не меняем.
Предположим, нам нужно скопировать стили из ячейки «A12» в ячейки «A13» и «A14». Но только стили! Сам контент в ячейках «A13» и «A14» должен остаться без изменений.
Для этого кликаем в ячейку «A12», затем нажимаем кнопку
«Формат по образцу»
Затем аккуратно кликаем в ячейку «A13»
Аналогично повторяем эти действия для ячейки «A14»
Затем увеличиваем ширину столбца «A» до значения 60.
Обратите внимание. Умный Эксель автоматически делает контент в ячейках «A13» и «A14» кликабельным, ориентируясь на начало строки: https://
Вообще, такое вот автодокументирование — штука полезная. Если кто-то случайно найдет этот экселевский файл, то при желании сможет легко получить информацию «что это, зачем и откуда» из указанных первоисточников.
Упражнение 7. Самостоятельные произвольные упражнения.
Попробуйте выполнить некоторые самостоятельные произвольные упражнения.
Навскидку, я вам могу предложить развлечься следующим способом.
- Попробуйте вставить в какую-либо ячейку медиа контент: картинку, видео и пр.
- Попробуйте написать какую-то сложную формулу. Пусть эта формула берет информацию из разных ячеек, каким-то образом обрабатывает эту информацию и фиксирует результат.
- Сделайте таблицу умножения.
- Нарисуйте из ячеек шахматную доску.
- Придумайте сами какое-то задание и выполните его.
На этом наша разминка — тренировка заканчивается.
Преступаем на следующей странице к решению вполне реальной типичной задаче — распределению денег.
Распределение фонда премий.
Предположим, руководство дало нам задание.
Есть денежный фонд в размере 64тр. и эти деньги надо распределить среди участников шахматного соревнования по следующему принципу.
- Первое место получает 50% от фонда.
- Второе место получает 50% от остатка после получения приза первым местом.
- Места от 3 до 9 — расчет премий аналогично расчету для второго места.
- Место 10 — получает полностью весь остаток, после получения приза местом 9.
Вот такой принцип распределения, с одной стороны, поощряет каждого стремиться занять максимально высокое место. С другой стороны, как говорили братья Стругацкие «Счастье для всех, даром, и пусть никто не уйдет обиженный!»
Даже самый несчастливый игрок что-то получит при такой системе распределения.
Итак, к постановке вопросов нет, задача поставлена, начинаем ее решать.
Ячейка «B3» содержит формулу =(B2/2) и отображает вычисленное значение 32000,00
Ячейка «C3» содержит формулу для получения остатка фонда =(B2-B3), после того, как место 1 получит премию и отображает вычисленное значение 32000,00
Очень похожие формулы получаются для второго места.
Ячейка «B4» содержит формулу =(C3/2) и отображает вычисленное значение 16000,00
Ячейка «C4» содержит формулу для получения остатка фонда =(C3-B4), после того, как место 2 получит премию и отображает вычисленное значение 16000,00
Теперь выделяем ячейки «B4» и «C4», нажимаем ПКМ и в контекстном меню выбираем пункт «Копировать».
Выделяем область ячеек от «B5» до «C12». Нажимаем ПКМ и в контекстном меню выбираем пункт «Вставить».
В результате у нас должно получится почти полностью правильное распределение фонда.
«Почти» заключается в том, что по постановке задачи у нас десятое место должно забирать все остатки после того, как получит премию девятое место.
Логический смысл тут двойной. Во-первых, морально поддержать последнее место. Во-вторых, нельзя фонд оставлять не полностью истраченным. Плохая примета.
Подправляем формулы следующим образом.
В ячейке «B12» вместо формулы =(C11/2) пишем формулу =(C11)
И это все. Теперь фонды распределены строго с постановкой задачи.
Теперь участники турнира, а также болельщики и прочие интересующие могут ознакомиться за что, собственно, будет битва и насколько, например, первое место лучше второго или третьего.
Обратите внимание в данном примере на магию электронной таблицы. Допустим, в последнюю минуту генеральный директор решил изменить общую сумму фонда.
Благодаря электронной таблице, это не проблема. Надо будет просто поменять число в ячейке «B2» и все зависимые значения будут автоматом пересчитаны!
Очень удобно!
Турнирная таблица. Новогодний шахматный турнир 2023. Использование VBA для расчета коэффициента Бергера и итоговых мест.
Предположим, наш турнир состоялся по круговой системе в один круг.
Всего приняло участие 10 игроков. Следовательно, было проведено 9 туров. Кстати, количество туров рассчитывает так: количество участников минус 1. Пояснение: «минус 1» по той причине, что каждый участник играет по одной партии с каждым, кроме самого себя. Общее количество партий рассчитывается так. В каждом туре 5 партий (по одной партии на два участника). Всего туров 9. Общее количество сыгранных партий турнира получаем умножением: 5*9=45.
Представляем участников соревнования.
Предупреждение. Участники, турнир, результаты — вымышленные. Любое совпадение с реальным миром является случайным.
Для справки.
Цвет фигур для каждой партии определяется по следующему алгоритму.
- Берутся порядковые номера участников. Например: 1 и 10.
- Если один номер четный, другой нечетный, то меньший номер играет белыми. Говорят так для запоминания: «чет-нечет, меньший белыми». Это наш случай. Т.о. номер 1 играет белыми, номер 10 играет черными
- Если оба номера четные или оба нечетные, то больший номер играет белыми. Говорят так для запоминания: «чет-чет, больший белыми» или «нечет-нечет, больший белыми».
Номер тура определяется по следующему алгоритму.
- Берутся порядковые номера участников и складываются. Например: 1+10=11
- Если эта сумма меньше или равна количеству участников, то вычитается 1.
- Если эта сумма больше количества участников, то вычитается количество участников. Это наш случай. Из 11 вычитаем 10 получаем 1. Т.о. партия между участниками 1 и 10 должна состоятся в первом туре.
Для красоты мы вставляем снежинку на пересечении строк и столбцов каждого определенного игрока. Это подчеркивает тот факт, что игрок играет со всеми, но не играет сам с собой.
За победу дается 1 очко, за ничью пол-очка, за поражение 0 очков.
Программисты, бухгалтера, а особенно Эксель любят представление подобной информации в виде чисел с одним знаком после запятой: 1,0 — 0,5 — 0,0.
Шахматистам привычен такой формат: 1 — 1/2 — 0.
Можно подвинуться в пользу шахматистов и прочих любителей правильных дробей следующим способом.
В формате ячейке выбираем Числовой формат «дробный».
Затем выбираем тип: либо Простыми дробями (1/4), либо Половинными долями (1/2).
Для побед и поражений формат ячеек оставляем числовым, но количество знаков после запятой делаем равным нулю.
Теперь отображение информации имеет более привычный вид.
Магия электронной таблицы! Мы не меняли значения данных, просто сделали другой тип отображения информации.
Огромной плюс электронной таблицы: данные можно отображать различными способами.
💡 Важно! В верхней левой половине области результатов у нас в ячейках проставлены результаты. А вот в правой нижней области результатов установлены формулы, которые рассчитывают результат, беря значения из зависимой ячейки в верхней правой области.
Например. в ячейке E3 стоит значение 1 (т.е. победа участника 1 Флагорубов Влад над участником 2 Слонова Ольга).
А вот в ячейке D4 стоит формула: =(1-E3), рассчитывается и отображается значение 0 (т.е. поражение участника 2 Слонова Ольга от участника 1 Флагорубов Влад).
Такой подход уменьшает вероятность возникновения ошибок и противоречий в данных.
Все это хорошо, даже прекрасно, но как нам определить места участников соревнования?
Понятно, что чем больше очков, тем выше место. Но вот, например, участники:
5 Конев Давид
7 Красаткина Лаура
Набрали одинаковое количество очков (6 1/2), как же определить, у кого место выше?
На помощь к нам приходит «Коэффициент Бергера». Не путать с «Коэффициентом Бухгольца», это другое!
Коэффициент Бергера участника складывается из суммы всех очков противников, у которых данный участник выиграл, плюс половина суммы очков противников, с которыми данный участник сыграл вничью.
Идея, на которой базируется коэффициент: из участников, равных по числу очков, сильнее тот, кто выиграл у более сильных противников, то есть у тех, кто набрал больше очков.
Поэтому участнику, имеющему наибольший коэффициент Бергера, присуждается более высокое итоговое место в турнире.
VBA (Visual Basic для приложений) поможет нам рассчитать коэффициент Бергера и итоговые места.
Нажимаем последовательно кнопки: Файл — Параметры — Настройка ленты — [V] Разработчик (ставим галку) — ОК.
Это нам нужно, чтобы пункт «Разработчик» появился в верхней строчке меню.
Нажимаем: Разработчик — Макросы
Далее должно появиться окно с предложением ввести имя нового макроса.
Вводим имя макроса: «berger2023» и нажимаем кнопку «Создать».
В ответ на это Эксель создаст новый макрос под именем «berger2023» с неким первоначальным дефолтным контентом.
Теперь возьмем версию 1.01 нашего макроса здесь:
Версия 1.01 макроса «berger2023», нажмите, чтобы скачать — скопировать
Скопируйте новую версию макроса и замените текущую версию. Нажмите значок «дискетка» для сохранения.
В результате у вас должна отобразиться новая версия макроса.
Эта версия макроса вполне работоспособна и предназначена для проверке: подготовлено ли окружение кокретной рабочей станции для запуска макросов VBA (Visual Basic для приложений).
У меня эта версия успешно отработала.
Как у вас — пока не знаю. Сейчас будем проверять.
Сначала изучим способы запуска макросов.
- Разработчик — Макросы — berger2023 — Выполнить
- Разработчик — Visual Basic (или ALT-F11) — Run — Run Macro (или просто F5) — berger2023 — Выполнить
- ПКМ на ярлыке рабочего листа Исходный текст — из всплывающего меню выбрать пункт Исходный текст — Modules — Module1 — F5 — berger2023 — Выполнить
Попробуйте разные варианты вызова, чтобы набить руку и почувствовать себя уверенно в этой среде.
Эта версия должна отработать следующим образом.
Предложение для выбора и запуска макроса: «berger2023».
Нажимаем «Run».
Должно поступить приветственное сообщение с запросом на выполнение расчета.
Реакция на ответ «Да» должна быть такой.
Реакция на ответ «Нет» должна быть такой.
Если у вас все отработалось подобным образом, значит, можно идти дальше, устанавливать версию, которая будет реально делать расчеты.
Если что-то пошло не так, то нужно искать причину проблемы и устранить ее.
Теперь возьмем версию 1.02 нашего макроса здесь:
Версия 1.02 макроса «berger2023», нажмите, чтобы скачать — скопировать
Эта версия, в отличии от предыдущей, делает полный расчет коэффициента Бергера, места и премий.
Заодно, давайте, поставим кнопку для запуска макроса:
Разработчик — Вставить — Кнопка
Затем сделайте привязку к этой кнопке нашего макроса berger2023.
Попробуйте запустить этот макрос.
Результат должен получиться таким:
Заключение. Лайфхаки. Ссылки. Пожелания. Релакс и развлечения.
Копирование листа — полезная возможность, когда вы хотите сделать что-то похожее на то, что уже есть, а затем в копии делать изменения.
Вывод на печать — выделите фрагмент, который следует вывести на печать. Нажмите «Файл» — «Печать». Сделайте необходимые настройки, например: «Альбомная ориентация» и «Вписать лист на одну страницу».
Нажмите кнопку «Печать».
Должно получиться примерно вот так.
Скачивание готового проекта — для учебных целей имеется ввиду, что вы самостоятельно пошагово выполняли описываемые действия.
Но, возможно, вам покажется удобным скачать готовый проект.
- Размер скачиваемого архива study2023.zip, байт: 66903
- Размер эклелевского файла в этом архиве study2023.xls, байт: 135680
Вы можете использовать наработки в этом файле, как заготовки для своих проектов.
Также вы можете скачать версию этого же файла, который сделала Светлана, альфа тестер этого курса.
скачать готовый проект, версия «Светлана».
- Размер скачиваемого архива study2023svetlana.zip, байт: 54031
- Размер эклелевского файла в этом архиве study2023.xls, байт: 113664
Разница между этими версиями есть. Например, Светлана в процессе тренировки нарисовала таблицу умножения.
Почему в версии Светлана размер файла получился меньше, я пока не понял. Думаю над этим в фоновом режиме.
Обе версии работают.
Как Светлана сделала этот файл, можно отследить по пяти видео клипам ниже.
Часть 1 — Подготовка. Запуск.
Часть 2 — Тренировка. Таблица умножения.
Часть 3 — Задача «Распределение фонда премий».
Часть 4 — Турнирная таблица шахматный турнир.
Часть 5 — VBA (Visual Basic для приложений).
Поздравления — поздравляю с Новым Годом! Желаю творческих, финансовых и личных успехов!
Релакс и развлечения — мы славно поработали (кто-то создал этот курс, кто-то его прошел, трудно сказать, что сложнее и полезнее), теперь можно релакснуть и развлечься.
На создание этого курса вдохновил Новогодний рассказ Новогодний шахматный турнир..
А на написание этого рассказа, в свою очередь, вдохновило творчество А.П. Чехова. В детстве очень нравились короткие чеховские рассказы, и пришла в голову такая мысль: а как писал бы Чехов, если бы жил в наше время? Интересно! Стал писать разные наброски в стиле Чехова (или, мне просто казалось, что это в стиле Чехова).
Насколько удачна была эта попытка реанимировать Чехова? Можете судить сами по отрывку:
…
— Я все понял, товарищ генерал. Это Вы так задумали умно свою комбинацию. Через три хода Вы у меня выиграете ферзя, и все у Вас будет в порядке. Чес-слово, товарищ генерал. Блестящая жертва…, — лепетал маэстро.
— Сщас ты у меня будешь жертвой, — жестко сказал генерал и отработанным движением резко вырвал из кобуры пистолет Макарова.
Все замерли. Музыка остановилась. Воцарилась такая тишина, что было ясно слышно, как стучат от жуткого страха зубы маэстро.
«Вот тебе, бабушка, и Новый Год. Хотел всего лишь немного деньжат срубить полегкому в праздничек. Теперь чувствую, меня ими и накормят досыта. Что делать-то?» — думал Виктор Сергеевич в полном отчаянии.
— Предлагаю ничью, — прохрипел он из последних сил, умирая от ужаса.
— Я тебе дам сщас ничью. Ты, жалкое ничтожество, которое и в армии-то, наверное, не служило, предлагаешь ничью мне! Боевому генералу! … Выигрывает у всех! Новый Год людям поганит! Настроение праздничное портит! Наших, русских коней пожирает за бесплатно! Что, думаешь, умный, так управы на тебя нет? Найдем управу-то. На всю жизнь свою запомнишь. Оставшуюся. Недолгую.
Балдеев был в страшной ярости, словно у него не шахматного коня выиграли в честной борьбе, а украли личный «Мерседес» из гаража.
Виктор Сергеевич в полной прострации, как кролик на удава, смотрел в страшное черное дуло пистолета и мысленно молился.
«О, святой дедушка Мороз! О, великомученица дева Снегурочка! Помогите, чем можете! Клянусь вам, если сейчас выживу, то все следующие новогодние праздники буду встречать только дома, в кругу семьи. О, любимица моя, богиня шахмат Каисса! Спаси меня! Клянусь тебе, теперь всегда буду сразу проигрывать генералам с пистолетами, а также милым безобидным бухгалтерам и прочим славным добрым работникам этой чудесной компании. Никогда больше не буду похваляться своим шахматным талантом, и вообще зарою его в землю, от греха подальше!»
— Отдай коня, гад! А то хуже будет! Ну! — генерал звонко щелкнул предохранителем.
…
Генерал, раскаленный от злости, резко нажал на спуск… В глазах у мастера вспыхнуло яркое белое солнце, как будто разорвалась маленькая ядерная бомба. Время вдруг замедлило свой бег в тысячу раз, и Виктор Сергеевич явственно ощутил, как подлая пуля забралась ему в голову, продырявив череп на лбу ровно посередине и начала медленно двигаться внутри, разрушая мозг и причиняя неописуемые мучения.
«Пуля дура! И я дурак! — думал свои последние мысли шахматист, — какого черта я поперся к этим дуракам Новый Год встречать! И тетка Поля дура! Любила говорить, что в жизни все надо попробовать! Пусть бы она попробовала пулю в лоб! А вот если бы я его ферзя съел на десятом ходу, то, наверное, было бы еще хуже…»
Говорят, что перед самой смертью, у человека в голове проносятся воспоминая о прожитой жизни. Так это или нет, мы все будем иметь удовольствие проверить эту гипотезу на собственной практике в отведенное время. Но вот что касается нашего маэстро, то у него вместо воспоминаний прошлого в разрушаемом мозге вдруг стали явственно проглядываться картины ближайшего будущего.
…
полностью читайте здесь ➳ .
### Конец. Спасибо за внимание!
10 Содержание
Время на прочтение
5 мин
Количество просмотров 115K
По сообщениям в комментариях к статье про блокнот, во всех версиях Microsoft Excel, начиная по крайней мере с ’97 и до самых новых, в имени листа не всегда можно ввести большую букву Ж. Данная проблема обсуждается в сети уже давно, например на этом форуме забавно наблюдать, как некоторые утверждают, что у них проблемы нет, а у других есть, но не всегда, и никто не понимает, почему так. На первый взгляд можно подумать, что это просто недоработка программистов: они хотели не дать пользователю ввести символ ‘:’, и просто не подумали о том, что Ж находится на той же кнопке.
На деле оказалось всё гораздо хуже. Описать нормальными словами то, что происходит в excel, когда вы просто нажимаете кнопку ‘Ж’, практически невозможно. Поэтому я попытаюсь обрисовать в целом процесс исследования, сократив его где возможно, и не слишком перегружая статью ассемблерным кодом. В итоге мы узнаем, почему получается так, что не любые символы можно ввести, и как это можно исправить.
С чего начать? Поэкспериментируем немного. Оказывается, что иногда ввести Ж в название листа всё-таки можно, причём если уж один раз это сработало, то её можно будет вводить сколько угодно и где угодно, пока не закроешь Excel. А если не получилось, то как ни старайся, ввести эту букву уже не получится никак. Выяснить, почему так происходит, пока не удаётся. Известно одно: скопипастить её можно всегда.
Ну хорошо. Раз ошибка имеется где-то в коде проверки символов, попробуем найти её через действительно запрещённый символ ‘:’. Копипастим его в название листа, нажимаем Enter, и получаем сообщение, что такие символы не допускаются. Прервём на этом месте выполнение программы. Мы попадаем куда-то в дебри системных вызовов, во главе с user32.dll, общая вложенность 22 в глубину стека. Начинаем искать, как мы сюда попали. Поднявшись примерно на 15 уровней вверх, обнаруживаем следующий код:
Очевидно, здесь в уже набранной строке проверяется наличие всех запрещённых в имени листа символов. Конечно, как мы уже знаем, до этого места буква ‘Ж’ не доходит, она срубается ещё при нажатии самой клавиши, но можно предположить, что там анализ происходит аналогично. Поищем подобный код в программе. Похожих мест оказывается несколько, и одно из них как раз срабатывает при нажатии клавиши, когда мы находимся в редактировании имени листа:
Пока всё идёт неплохо. При нажатии проверяются те же самые символы. Код немного отличается, ну уж так видно сработал компилятор. Пора выяснить, почему же не вводится буква ‘Ж’. Нажимаем её, и тут нас ждёт сюрприз: точка останова не срабатывает! Как же так? Опять приходится возвращаться выше по стеку вызовов. В эту подпрограмму мы попадаем отсюда:
To есть вызывается подпрограмма по адресу, который содержится в регистре rdi плюс 8. Вот только оказывается, что при нажатии большинства клавиш там будет адрес той самой «правильной» подпрограммы, которую мы видели выше. А если мы нажимаем Ж с шифтом (чтобы она была большая), в этом месте оказывается совсем другая подпрограмма. Вот она:
Это подпрограмма типа «давай, до свидания!» То есть она сразу завершается с кодом 1, ничего не анализируется, и нажатая клавиша никуда не сохраняется.
Мы обнаружили классический вызов по таблице. rdi — индексный регистр, его содержимое указывает на таблицу адресов, и в зависимости от его содержимого, вызывается та или иная подпрограмма. Вот эта таблица:
Анализируя код, который с ней работает, удалось выяснить следующее: в начале таблицы — число строк (0Eh = 14), правда почему-то 2 раза. Каждая строка — описание комбинации клавиш. Сначала диапазон скан-кодов (выделен зеленым), затем допустимые состояния shift, alt и Ctrl (биты 4,8,20 — синим), маска для них (красным), и в конце 64-битный адрес подпрограммы (желтым), которая выполняется при совпадении условий. Большая Ж в этой таблице находится в 6-й строчке.
Скан-код 0BAh (VK_OEM_1), при нажатом шифте (4) приводит к вызову 000000013FB0A454 = «до свидания». Если же ни одна из комбинаций не проходит, то в последней строчке срабатывает код от 0 до FF, и вызывается п/п 000000014039530С, часть которой мы видели выше, где всё идёт по обычному плану, и символ попадает в имя листа.
Ну вот. Казалось бы, всё понятно. Программисты не учли раскладку, просто отсекли некоторые скан-коды и в результате ошибка. Теперь осталось только выяснить, как таблица заполняется. Нигде в файлах офиса её нет, значит она генерируется на этапе исполнения. Снова повторяется муторное скитание по многовложенным кодам, которое я пропущу. В этом процессе конечно excel пришлось много раз перезапускать.
И вот, в очередной раз остановившись где-то в недрах mso.dll, я с удивлением вижу, что в этой таблице какие-то совсем другие числа! Так я наконец узнал страшную тайну microsoft excel.
Как видим, здесь теперь не 14, а 13 строк, и в середине другие скан-коды (выделены зеленым). А именно, в шестой строке, там где раньше была буква Ж, теперь shift-6. То есть то же самое двоеточие, только из русской раскладки. То же самое и с остальными клавишами. Вот теперь действительно стало всё понятно. Довольно быстро выяснилось, что таких таблиц тут не одна, а целых 43 штуки (для каждой области экрана, отдельно для основного поля, поля ввода формул и т.д.). И все они заполняются один раз, при первом нажатии клавиши, а заполнение зависит от выбранной именно в этот момент раскладки и больше никогда не меняется.
То есть если после запуска excel при первом нажатии любой клавиши, пусть даже стрелки вниз, выбрана английская раскладка, буквы ‘Ж’ вы больше не увидите. И наоборот, если раскладка была русская, больших ‘Ж’ будет сколько угодно, а запрещённым «назначается» shift-б, и, кстати, shift-7 тоже. И после этого назвать лист, скажем, «рога & копыта» уже не получится, хотя символ ‘&’ вроде как разрешён.
Ещё раз напомню, что всё вышесказанное относится к вводу текста в названии листа, а для остальных областей экрана excel таблицы другие, некоторые по 40 и более строк. О том, что там может происходить при нажатии клавиш, лучше не думать.
Тем не менее, исправить эту ошибку можно, и даже проще, чем ожидалось. Оказалось, что исходным материалом для заполнения всех этих таблиц служит текстовая (!) таблица комбинаций клавиш, расположенная в файле XLINTL32.DLL, лежащего в одной из папок офиса. Его часть как раз изображена на КДПВ.
Вот так выглядит фрагмент, касающийся названия листа:
~Sh+~Alt+~Ctrl+Return~Sh+~Alt+~Ctrl+Execute~Sh+~Alt+~Ctrl+Escape~Sh+~Alt+~Ctrl+Cancel ~Sh+~Alt+~Ctrl+Tab:*?Ctrl+;Ctrl+:Ctrl+'Ctrl+"F2Default
Что же делает excel? Он разбирает части этой строки и делает из неё ту самую таблицу, подбирая такие скан-коды, которые приводили бы к вводу нужных символов, с учётом раскладки. Представляете? Он анализирует текстовое представление, чтобы сделать из него таблицу скан-кодов, чтобы потом, при нажатии клавиш, сравнивать полученный код с каждой строкой и вызывать соответствующую процедуру. Заполнять все 43 таблицы при каждом нажатии естественно не годится. Поэтому это делается один раз. Так что программисты не забыли про раскладки, а провели с ними огромную работу. Только одно они не учли — во время работы excel их можно переключать.
Кстати, теперь ясно, почему в русском варианте не 14 строк, а 13. Одна из запрещённых комбинаций Ctrl+’ невозможна в русской раскладке, потому что апострофа в ней в принципе нет, поэтому и скан-кода для него не находится.
Вернёмся однако к ошибке. В середине текста видны подряд те самые 3 символа :*? для запрещения. Чтобы всё исправить, достаточно в файле XLINTL32.DLL заменить эти 3 символа :*? на 3 звёздочки, потому что звёздочка на обоих раскладках в одном месте. Это можно сделать с помощью любого двоичного редактора или даже FAR, т.к. он позволяет менять текстовую часть двоичного файла по F4, при этом не испортив его.
После этого excel перестанет отбрасывать нужные скан-коды, и можно будет при любой раскладке вводить большую Ж, ‘&’, ‘^’ и запятую, при этом действительно запрещённые ‘:’ и ‘?’ всё равно не пройдут 2 проверки, которые описаны в начале статьи. Короче всё будет хорошо. И в следующий раз, когда будете набирать какой-нибудь текст в ворде или другом приложении офиса, постарайтесь не думать о том, что там происходит внутри.
Содержание
- Excel
- Возможности Microsoft Excel
- Работа с формулами и числовыми данными
- Работа с текстом
- Организация баз данных
- Построение графиков и диаграмм
- Создание рисунков
- Автоматизация стандартных задач
- Импорт и экспорт данных
- Собственный язык программирования
- Интерфейс Excel
- Форматы файлов
- Стандартные операции с ячейками
- Работа с формулами Excel
- Зачем нужен Excel
- Интерфейс программы
- Лента
- Панель быстрого доступа
- Работа в Excel
Excel
👉 В этом разделе мы на примерах разбираем сложные айтишные термины. Если вы хотите почитать вдохновляющие и честные истории о карьере в IT, переходите в другие разделы.
Microsoft Excel — программа, позволяющая работать с электронными таблицами. Можно собирать, преобразовывать и анализировать данные, проводить визуализацию информации, автоматизировать вычисления и выполнять еще ряд полезных и необходимых в работе задач.
Изучение возможностей Excel может быть полезно в рамках практически любой профессии и сферы деятельности, от работников продаж до бухгалтеров и экономистов.
Возможности Microsoft Excel
Работа с формулами и числовыми данными
Excel может выполнять практически всё: от простых операций вроде сложения, вычитания, умножения и деления до составления бюджетов крупных компаний.
Работа с текстом
Несмотря на то что некоторые возможности Word в Excel неприменимы, программа очень часто является базовой для составления отчетов.
Выяснить, какой товар и в какое время больше покупают. Посчитать юнит-экономику. Оценить окупаемость рекламной кампании. Аналитики данных могут все это и даже больше. Поэтому компании ищут и переманивают таких специалистов.
Организация баз данных
Excel — табличный редактор, поэтому систематизация больших архивов не является для него проблемой. Кроме того, благодаря перекрестным ссылкам можно связать между собой различные листы и книги.
Построение графиков и диаграмм
Для создания отчетов очень часто требуется их визуальное представление. В современных версиях Excel можно создать диаграммы и графики любого типа, настроив их по своему усмотрению.
Создание рисунков
С помощью настройки графических объектов, встроенных в программу, можно создавать двухмерные и трехмерные рисунки.
Автоматизация стандартных задач
Excel обладает функцией записи макросов, которые облегчают работу с однотипными действиями. Под любой макрос можно создать отдельную кнопку на рабочей панели или установить сочетание горячих клавиш.
Импорт и экспорт данных
Для создания масштабных отчетов можно загружать данные различных типов со сторонних ресурсов.
Собственный язык программирования
Язык программирования Visual Basic позволяет сделать работу в программе максимально удобной. Большое количество встроенных функций помогают сделать таблицы интерактивными, что упрощает восприятие.
Интерфейс Excel
В настоящий момент самой современной, 16-й версией программы является Excel 2019. Обновления, появляющиеся с каждой новой версией, касаются прежде всего новых формул и функций. Начальный рабочий стол с версии 2007 года претерпел мало изменений.
По умолчанию в каждой книге присутствует один лист (в ранних версиях — три листа). Количество листов, которые можно создавать в одной книге, ограничено только возможностями оперативной памяти компьютера. Поле Excel представляет собой таблицу из ячеек. Каждая ячейка имеет свой уникальный адрес, образованный пересечением строк и столбцов. Всего в Excel 1 048 576 строк и 16 384 столбца, что дает 2 147 483 648 ячеек. Над полем с ячейками находится строка функций, в которой отображаются данные, внесенные в ячейки или формулы. Также в программе есть несколько вкладок, которые мы разберем подробнее.
«Файл». С помощью этой вкладки можно отправить документы на печать, установить параметры работы в программе и сделать другие базовые настройки.
«Главная». Здесь располагается основной набор функций: возможность смены параметров шрифта, сортировка данных, простейшие формулы и правила условного форматирования.
«Вставка». Вкладка предназначена для добавления графических элементов на лист. Пользователь может как добавить обычные рисунки и фотографии, так и создать 2D- и 3D-объекты через конструктор. Кроме того, один из самых важных разделов программы — графики и диаграммы — также находится здесь.
«Разметка страницы». Здесь пользователь может менять формат итогового файла, работать с темой и подложкой.
«Формулы». Все формулы и функции, с которыми пользователь может работать в программе, собраны в этой вкладке и рассортированы по соответствующим разделам.
«Данные». Вкладка помогает с фильтрацией текстовых и числовых значений в таблицах, позволяет импортировать данные из других источников.
«Рецензирование». Здесь можно оставлять примечания к ячейкам, а также устанавливать защиту листа и всей книги.
«Вид». На этой вкладке можно добавлять или убирать сетку таблицы, масштабировать значения, закреплять группы данных в таблицах.
«Разработчик». Дополнительная вкладка, которая не включена по умолчанию. Позволяет работать с Visual Basic, создавать новые макросы и запускать уже имеющиеся.
Выяснить, какой товар и в какое время больше покупают. Посчитать юнит-экономику. Оценить окупаемость рекламной кампании. Аналитики данных могут все это и даже больше. Поэтому компании ищут и переманивают таких специалистов.
Форматы файлов
Для Excel существует несколько форматов готовых файлов, которые определяют возможности книги:
- .xlsx — стандартная рабочая книга. Пришла на смену бинарному формату .xls с версии 2007 года;
- .xlsm — рабочая книга, позволяющая работать с макросами;
- .xlsb — рабочая книга, использующая бинарный формат, но одновременно и поддерживающая макросы. Обычно используется при работе с большими таблицами;
- .xltm — шаблон-основа для рабочих книг. Имеется поддержка макросов;
- .xlam — надстройка, созданная для добавления дополнительного функционала.
Нужно учитывать, что некоторые формулы и функции из новых версий могут не работать в старых.
Стандартные операции с ячейками
Активной считается ячейка, которая имеет черную рамку выделения с квадратом в правом нижнем углу. Чтобы вносить данные в ячейку, не обязательно делать по ней дополнительные клики мышью. Вносить данные можно как непосредственно в ячейку, так и через строку формул. При перемещении курсора с помощью клавиш-стрелок активной становится соседняя ячейка, текст в предыдущей сохраняется. Чтобы изменить уже имеющийся текст, необходимо дважды кликнуть по ячейке или внести правки через строку формул.
При двойном клике по черному квадрату в правом нижнем углу текстовые данные протянутся до нижнего края созданной таблицы. Если выделить диапазон с последовательными значениями (числа, даты, дни недели), они автоматически пересчитаются в сторону увеличения, заполнив столбец до нижнего края таблицы. Те же операции можно проделать и вручную, протянув за квадрат в нижнем правом углу. В этом случае пользователь самостоятельно определяет границы заполнения.
Чтобы выделить несколько ячеек одновременно, нужно зажать клавишу Ctrl и выбрать нужные ячейки или диапазоны ячеек. Ту же самую операцию можно проделать со строками и столбцами, выделяя необходимое их количество.
Excel автоматически суммирует значения в ячейках, показывая результат в правом нижнем углу листа. Также пользователю предлагаются средние значения данных и общее количество заполненных ячеек.
Ширину столбцов и высоту строк можно менять как вручную, передвигая край столбца/строки, так и нажав правую клавишу мыши и выбрав меню «Ширина столбца (высота строки)». По умолчанию значение ширины указывает на количество символов текущего размера шрифта, которые могут разместиться в ячейке, а значение высоты — на максимально возможный размер шрифта для этой строки.
Ячейки можно объединять с помощью соответствующего меню на вкладке «Главная». Всего существует три варианта объединения:
- объединить и поместить в центре;
- объединить по строкам;
- объединить ячейки.
Следует помнить, что при объединении может нарушаться сортировка данных в таблицах, а также могут некорректно считаться формулы.
Работа с формулами Excel
Главная функция программы — возможность подсчета значений с помощью встроенных формул и функций. Среди них есть простые, позволяющие подсчитать сумму в диапазоне, среднее значение в диапазоне, количество заполненных ячеек и т.д. Есть и более сложные, способные вычислять количество дней между разными датами (в т.ч. рабочих), максимальные и минимальные значения в диапазоне. Работа с функциями и формулами также напрямую зависит от формата ячеек. По умолчанию для всех ячеек установлен общий формат, позволяющий работать как с числовыми, так и с текстовыми данными. Но для более сложной работы он может быть заменен на числовой, процентный, дату, денежный, финансовый, дробный и т.д.
Формула вводится либо через строку функций над таблицей, либо в самой ячейке при двойном клике. В начале функции обязательно должен стоять знак «=». После этого при вводе названия функции появляется помощник, который предлагает выбрать функции из списка. Разберем это на примере формулы средней сложности «СЧЕТЕСЛИ».
В скобках после функции будут прописаны условия, по которым формула будет проводить вычислениях. Подсказка указывает на то, что потребуется задать диапазон вычислений и критерий, по которому они будут производиться.
Например, нам необходимо подсчитать количество букв «А» в указанном диапазоне:
Выделяем диапазон, отмечаем первое условие с помощью знака «;»
Далее выделяем критерий. Его можно прописать вручную, заключив в кавычки; можно выделить ячейку, в которой этот критерий прописан.
Закрываем скобку, потому что все условия указаны, и нажимаем Enter.
В ячейке C1 получаем ответ: в шести ячейках нашей таблицы написана буква «А».
В случае ошибки в формулах в ячейке будет прописано «#ДЕЛ/0!». В этом случае необходимо перепроверить формулу на предмет неточностей и на корректность.
Excel может проводить вычисления не только на активном листе. Для этого при вводе формулы через строку функций нужно перейти на нужный лист и указать ячейку, с которой нужно провести расчет. При протягивании формул автоматически подтянутся и адреса всех ячеек. Чтобы этого не произошло и формулы были подсчитаны корректно, можно закрепить нужную ячейку, выделив ее адрес и нажав клавишу F4. Формат адреса будет выглядеть так: $A$1.
Выяснить, какой товар и в какое время больше покупают. Посчитать юнит-экономику. Оценить окупаемость рекламной кампании. Аналитики данных могут все это и даже больше. Поэтому компании ищут и переманивают таких специалистов.
Источник
Зачем нужен Excel
Изучив возможности приложения, можно сделать вывод, что оно подходит для экономистов и бухгалтер.
Изучив возможности приложения, можно сделать вывод, что оно подходит для экономистов и бухгалтеров.
Excel – это табличный процессор, который оснащен инструментами для создания отчетов, вычислений, составления диаграмм. Но и рядовому пользователю для решения бытовых нужд он пригодится. Эксель – это средоточие полезных функций. Программа помогает автоматизировать рабочий процесс.
При изучении опций становится понятно, что Microsoft Excel – это универсальное средство, которое позволяет:
- работать с различными типами данных;
- выполнять расчеты;
- организовывать дневники и журналы;
- хранить информацию;
- составлять отчеты;
- строить графики и диаграммы;
- создавать схемы и рисунки;
- организовывать списки и базы данных;
- импортировать и экспортировать информацию;
- автоматизировать однотипные действия;
- создавать панели управления;
- находить решение математических задач и уравнений;
- вести семейный бюджет;
- программировать на встроенном языке VBA и т.д.
Интерфейс программы
Мы узнали, что такое Эксель, теперь можно приступать к рассмотрению следующего вопроса. Как выглядит главное окно приложения? В MS Excel – это белый лист, расчерченный в виде таблицы. Минимальная единица – прямоугольник, называемый ячейкой (клеткой). Табличная форма – область создаваемой или редактируемой книги.
При рассмотрении интерфейса приложения пользователей волнует вопрос: «В Excel что это находится над таблицей?». Поле, располагающееся слева от пиктограммы fx, – это строка формул. Предназначена она для ввода текста, формул, функций, числовой информации.
В MS Excel 2007 и выше над строкой формул размещается лента (панель инструментов в развернутом виде). Новшество 2007 версии заключается в наличии круглой кнопки со значком компании. Кликнув на пиктограмму, пользователь откроет меню (аналогичное меню «Файл» в вариации 2003). Справа размещается панель быстрого доступа. Пользователь настраивает ее по своему усмотрению. По умолчанию на ней располагаются кнопки: «Сохранить», «Отменить», «Вернуть».
Строка состояния внизу рабочей области позволяет менять масштаб, вид страницы.
Лента
В Эксель 2007 меню отображается в виде ленты так, что это расположение пиктограмм и команд удобно для пользователя. В ранних версиях меню оформлено в виде панелей инструментов и строки. Юзер создавал рабочую область по своему усмотрению, иногда она становилась слишком громоздкой.
Ориентироваться в ленте просто: кликнув на вкладку, пользователь замечает доступные команды. На каждой вкладке пиктограммы разделены на блоки.
Если в нижней части блока отображается стрелка, то при нажатии на значок пользователь вызывает диалоговое окно. Здесь отображается расширенная версия пунктов меню.
Нововведение в Excel – наличие галереи. Оформлена она в виде графического меню, в котором содержатся образцы (на вкладке «Главная» – «Стили ячеек»).
Панель быстрого доступа
При работе с MS Excel следует изучить: что это за приложение, как им пользоваться для автоматизации работы. Для увеличения работоспособности юзер настраивает панель быстрого доступа.
Она находится справа от кнопки «Office». Пользователь вправе добавить пиктограммы команд, которые чаще всего используются. По умолчанию офисный пакет располагает на панели 3 пиктограммы: «Сохранить», «Назад» и «Вернуть». Справа находится стрелка, раскрывающая список дополнительных команд.
Панель быстрого доступа отображается всегда, независимо от того, какая вкладка активирована.
Работа в Excel
Программа Эксель – это приложение, разработанное для вычислений (в первую очередь). Позволяет производить арифметические действия с внесенной числовой информацией. Если пользователю нужна таблица для отображения текста, проще создать объект в MS Word.
Источник