Библиотеки для работы с excel с

Сравнение библиотек для работы с файлами Misrosoft Excel

Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.

Сравнение библиотек для работы с файлами Misrosoft Excel

Самым удобным, полным и хорошо документированным способом работы с файлами MS Excel является использование OLE Automation с Microsoft Excel. Единственный его недостаток – низкая скорость, поэтому данный способ неприемлем для больших объемов данных. Возникает необходимость использовать библиотеки, работающие с файлами напрямую, и скорость является основной характеристикой для данного класса продуктов.

В данной статье мы рассмотрим и сравним несколько библиотек для Borland Delphi, предоставляющих разработчикам возможность работать с файлами Microsoft Excel напрямую, без использования OLE Automation и самого Microsoft Excel.

Перечислим библиотеки, которые мы будем рассматривать, и приведем их краткое описание.

Название Описание Производитель и сайт WWW
TXLSFile v.3.1 Библиотека невизуальных классов для чтения и записи файлов MS Excel, дополнительно включает в себя набор визуальных компонентов для экспорта данных из db-aware компонентов в файлы MS Excel. SM Software
http://sm-software.com
XLSReadWriteII Библиотека визуальных и невизуальных классов для чтения и записи файлов MS Excel, дополнительно включает в себя компоненты для экспорта данных из dataset в файлы MS Excel и экспорта из файла MS Excel в HTML. Axolot
http://axolot.com
FlexCell v.2.6.7 Генератор отчетов, реализованный в форме визуальных компонентов. Содержит компоненты для формирования отчетов в файлы MS Excel на основе шаблонов, компоненты для работы с шаблонами. TMS Software
http://www.tmssoftware.com

Мы рассмотрим эти библиотеки как с точки зрения производительности, так и с точки зрения удобства использования для разработчика.

Удобство использования для разработчика

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

  • Архитектура
  • Наличие и качество документации

Архитектура

Библиотека Описание архитектуры
TXLSFile v.3.1 Набор классов для прямого доступа к файлам MS Excel. Простая иерархия объектов полностью избавляет пользователя от необходимости знать внутреннее устройство файла.
XLSReadWriteII Набор классов для прямого доступа к файлам MS Excel. Требуются дополнительные действия при записи файла. Например, перед записью ячеек требуется заранее знать все возможные форматы ячеек, которые будут использоваться (формат ячейки включает в себя цвет текста и фона, параметры шрифта, параметры границ, выравневание и т.д.), и добавить их в таблицу форматов. При записи ячеек для каждой ячейки требуется указать номер формата из таблицы форматов.
FlexCel v.2.6.7 FlexCel – это генератор отчетов, а не средство прямого доступа к файлам MS Excel. Для того чтобы записать данные в файл MS Excel, требуется предварительно создать файл-шаблон, задать в нем поля, и затем реализовать обработчики событий для компонентов.

Наличие и качество документации

Библиотека Сведения о документации
TXLSFile v.3.1 Один документ в формате CHM. Включает в себя краткое описание возможностей и справочник (Programmer’s Reference) по классам библиотеки. Для каждого класса описаны его свойства и методы. Содержит примеры кода почти для каждого класса.
XLSReadWriteII Один документ в формате HLP. Включает в себя краткое описание возможностей и справочник (Programmer’s Reference) по классам библиотеки. Для каждого класса описаны его свойства и методы. Не содержит примеров.
FlexCel v.2.6.7 Набор документов в формате MS Word (DOC):

  • Документ readme.doc содержит описание архитектуры FlexCel и краткое описание каждого объекта (без детального описания свойств и методов).
  • Документ “Using FlexCelReport” содержит подробное пошаговое руководство для разработчика, начинающего использовать FlexCel.

Производительность

Для сравнения производительности мы проведем несколько тестов записи файлов MS Excel.

Сначала приведем некоторые сведения о внутреннем формате файла MS Excel, которые понадобятся нам при анализе результатов тестов. В файле MS Excel все строковые значения ячеек хранятся в таблице строк, при этом ячейки содержат только указатели на элементы таблицы строк. В таблице строк собраны уникальные строковые значения ячеек (например, если все текстовые ячейки в рабочей книге содержат одно и то же значение, в таблице строк будет один элемент). Одна из важных задач при записи файла MS Excel – быстро построить таблицу строк.

При записи файла MS Excel библиотеки выполняют два вида действий – анализ и подготовка данных к записи и непосредственно запись в файл. Анализ данных, в частности, включает в себя создание таблицы строк.

Платформа для тестирования

CPU 1800 MHz
RAM 256 Mb
OS Windows 2000 Server

Тест 1 – большое число ячеек с одинаковым строковым значением

Заполним 50000 ячеек одинаковым строковым значением. Этот тест, показывает скорость записи данных в файл. Так как все ячейки содержат строковое одинаковое значение, то таблица строк здесь строится быстро. Время анализа и подготовки данных в данном случае не существенно влияет на результат.

Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 1,031
XLSReadWriteII 0,531
FlexCel v.2.6.7 2,453

Тест 2 – большое число ячеек с различными случайными строковыми значениями

Заполним 50000 ячеек различными строками, состоящими из набора случайных символов, и имеющими длину от 10 до 60 символов. Этот тест показывает скорость построения таблицы строк. Чем больше различных текстовых значений в файле MS Excel, который нужно создать, тем важнее этот показатель.

Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 2,033
XLSReadWriteII 125,130
FlexCel v.2.6.7 10,440

Тест 3 – большое число ячеек с различными случайными числами

Заполним 50000 ячеек различными случайными числами. Этот тест, как и Тест 1, показывает скорость записи данных в файл. Так как ячейки не содержат строковых значений, то таблица строк здесь будет пустая. Время анализа и подготовки данных в данном случае не существенно влияет на результат.

Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 0,801
XLSReadWriteII 0,510
FlexCel v.2.6.7 2,070

Тест 4 – большое число ячеек с разнородными данными

Этот тест моделирует запись типичного файла MS Excel, содержащего и строковые значения, и числа. Возьмем задачу, которую выполняет демо-приложение StressTest из библиотеки FlexCel. Требуется провести экспорт 6000 строк, каждая из которых содержит 30 столбцов – итого 180000 ячеек. При этом в 2 столбцах будут содержаться различные строки, состоящие из набора случайных символов, и имеющие длину от 10 до 60 символов. В черырех других столбцах будут содержаться постоянные строковые значения. Остальные столбцы заполним случайными целыми числами.

Библиотека Средний результат
тестов
(в секундах)
TXLSFile v.3.1 3,77
XLSReadWriteII 8,98
FlexCel v.2.6.7 5,09

Желающие могут скачать исходные тексты тестовых приложений (8.59K). Для того, чтобы их скомпилировать и запустить, Вам дополнительно потребуется получить и установить демо-версии рассматриваемых библиотек на сайтах их производителей.

Читайте также:  Сравнить два листа excel на совпадения

Copyright © 2004 Ольга Сосонных Специально для Delphi Plus

Источник: www.delphiplus.org

Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel)

Оставляю заметку по работе с Excel с помощью C#.

Привожу фрагменты кода, которые искал когда-то сам для работы с Excel документами.

Наработки очень пригодились в работе для формирования отчетности.

Прежде всего нужно подключить библиотеку Microsoft.Office.Interop.Excel.

Visual Studio здесь довольно старой версии. Если у вас версия новая, отличаться будет только вид окна.

Далее создаем псевдоним для работы с Excel:

using Excel = Microsoft.Office.Interop.Excel;

Расстановка рамок.

Расставляем рамки со всех сторон:

Цвет рамки можно установить так:

Выравнивания в диапазоне задаются так:

Формулы

Определим задачу: получить сумму диапазона ячеек A4:A10.

Для начала снова получим диапазон ячеек:

Excel.Range formulaRange = sheet.get_Range(sheet.Cells[4, 1], sheet.Cells[9, 1]);

Далее получим диапазон вида A4:A10 по адресу ячейки ( [4,1]; [9;1] ) описанному выше:

string adder = formulaRange.get_Address(1, 1, Excel.XlReferenceStyle.xlA1, Type.Missing, Type.Missing);

Теперь в переменной adder у нас хранится строковое значение диапазона ( [4,1]; [9;1] ), то есть A4:A10.

Выделение ячейки или диапазона ячеек

Так же можно выделить ячейку или диапазон, как если бы мы выделили их мышкой:

Авто ширина и авто высота

Чтобы настроить авто ширину и высоту для диапазона, используем такие команды:

Получаем значения из ячеек

Чтобы получить значение из ячейки, используем такой код:

Добавляем лист в рабочую книгу

Чтобы добавить лист и дать ему заголовок, используем следующее:

Добавление разрыва страницы

Сохраняем документ

Как открыть существующий документ Excel

Комментарии

При работе с Excel с помощью C# большую помощь может оказать редактор Visual Basic, встроенный в Excel.

Для этого в настройках ленты надо добавить пункт «Разработчик». Далее начинаем запись макроса, производим действия и останавливаем запись.

Далее заходим в редактор Visual Basic и смотрим код, который туда записался:

В данном макросе записаны все действия, которые мы выполнили во время его записи. Эти методы и свойства можно использовать в C# коде.

Данный метод так же может оказать помощь в формировании относительных формул, например, выполнить сложение чисел, находящиеся слева от текущей ячейки на 4 столбца, и т.п. Пример:

Так же во время работы может возникнуть ошибка: метод завершен неверно. Это может означать, что не выбран лист, с которым идет работа.

Чтобы выбрать лист, выполните sheetData.Select(Type.Missing); где sheetData это нужный лист.

Работа с Excel с помощью C# (Microsoft.Office.Interop.Excel): 11 комментариев

Как прочитать данные из ячейки excel,и записать эти данные в sql server?

Добрый день.
Отправил на почту.

Добрый день.
А мне можно тоже самое?)

Здравствуйте, как изменить цвет диаграммы при работе в C#?(круговая диаграмма)

Вы можете записать макрос на изменение цвета в Visual Basic и списать получившийся код. Затем использовать его в своей программе.

Здравствуйте.
Можете подсказать, как «заставить» приложение работать с разными версиями MS Office? На машине разработчика стоит Office 2010, при запуске на машине с 2003-м — увы — ошибка.

Microsoft.Office.Interop.Excel это довольно старый способ работать с Excel документами.
Что касается версии Office 2003, то он использует совсем другой драйвер.
Соответственно версия Microsoft.Office.Interop.Excel.dll нужна старая, плюс драйвер microsoft jet 4.0, который на новых системах (Win 8, 10) работает неправильно.
Единственное, что могу посоветовать, так это скачать Microsoft Office Compatibility Pack для Office 2003, чтобы научить его открывать xslx документы.
А в своей программе использовать не Interop.Excel, а библиотеку EPPlus. Она работает с excel документами, используя технологию OpenXml и не надо париться по поводу драйверов.
Код будет очень похож на Interop.Excel-ный.

Очень полезная штука, спасибо за удобное представление информации на Вашем сайте!

Скажите пожалуйста, как прочитать данные из ячейки Excel и записать их в SQL Server?

Источник: razilov-code.ru

Автоматизация Microsoft Excel из Microsoft Visual C# .NET

Сводка

В этой статье показано, как создать клиент автоматизации для Microsoft Excel с помощью Microsoft Visual C# .NET.

Дополнительные сведения

Автоматизация это процесс, позволяющий приложениям, написанным на таких языках, как Visual C# .NET, управлять другими приложениями программным способом. Автоматизация в Excel позволяет выполнять такие действия, как создание новой книги, добавление данных в книгу или создание диаграмм. В Excel и других приложениях Microsoft Office практически все действия, которые можно выполнить вручную через пользовательский интерфейс, также можно выполнить программным путем с помощью автоматизации.

Excel предоставляет эту программную функцию через объектную модель. Объектная модель — это коллекция классов и методов, которая выступает в качестве аналога для логических компонентов Excel. Например, существует объект Application, объект Workbook и объект листа, каждая из которых содержит функциональные возможности этих частей Excel. Чтобы получить доступ к объектной модели из Visual C# .NET, можно установить ссылку проекта на библиотеку типов.

В этой статье показано, как задать соответствующую ссылку проекта на библиотеку типов Excel для Visual C# .NET и пример кода для автоматизации Excel.

Создание клиента автоматизации для Microsoft Excel

Запустите Microsoft Visual Studio .NET.

В меню Файл выберите команду Создать, а затем выберите Проект. Выберите приложение Windows из типов проектов Visual C#. По умолчанию создается форма Form1.

Добавьте ссылку на библиотеку объектов Microsoft Excel. Для этого выполните следующие действия:

  1. On the Project menu, click Add Reference.
  2. На вкладке COM перейдите в библиотеку объектов Microsoft Excel и нажмите кнопку Выбрать.

Note (Примечание ) В состав Microsoft Office 2003 входят основные сборки взаимодействия (PIA). Microsoft Office XP не включает PIA, но их можно скачать.

  1. Нажмите кнопку ОК в диалоговом окне Добавление ссылок, чтобы принять выбранные параметры. Если вам будет предложено создать программы-оболочки для выбранных библиотек, нажмите кнопку Да.

В меню Вид выберите пункт Панель элементов, чтобы отобразить панель элементов, а затем добавьте кнопку в форму Form1.

Дважды щелкните элемент Button1. Откроется окно кода для формы.

В окне код замените следующий код:

Прокрутите окно до верхней части окна кода. Добавьте следующую строку в конец списка директив using:

Тестирование клиента автоматизации

  1. Нажмите клавишу F5 для построения и запуска программы.
  2. Нажмите кнопку Button1 на форме. Программа запускает Excel и заполняет данные на новом листе.
  3. Когда вам будет предложено ввести квартальные данные продаж, нажмите кнопку Да. Диаграмма, которая связана с квартальными данными, добавляется на лист.

Ссылки

Для получения дополнительных сведений посетите веб-сайт Microsoft Developer Network (MSDN).

Источник: docs.microsoft.com

PHP библиотека PHPExcel для работы с Excel

Для работы с Excel использовал библиотеку PHPExcel. Установка простейшая – кладем папку Classes в нужную папку на сервере, указываем корректные пути в include/require.

Читайте также:  В эксель сортировка по алфавиту

Примеры кода по чтению/генерации файлов Excel можно посмотреть на github странице библиотеки.

Красивости

и этим не ограничивается функционал, это лишь то, что использовал:

  • mergeCells(“cell_range”) – Объединение указанных ячеек в одну. Данные должны лежать в первой ячейке, иначе они теряются.
  • setSize(16) – Делаем размер шрифта 16 для указанных ячеек.
  • setBold(true) – Делаем текст “жирным”
  • setWrapText(true) – Делаем перенос слов по умолчанию для всех ячеек
  • setAutoFilter – Включить фильтр по умолчанию
  • freezePane – Закрепить какие либо строки, например первую
  • borders – делается через создание стиля, а потом его применение на указанный диапазон ячеек
  • color – Аналогично с помощью стилей меняем цвет шрифта (Font)
  • setARGB – Изменить цвет ячейки, например
    • всей первой строки
    • конкретной ячейки (делал так цвет был переменным и задавался на основе данных – формировался разноцветный показательный Excel)
    • диапазона ячеек по диагонали
ЧТЕНИЕ

Код для чтения (два столбца):

Редактирование

Открываем файл test.xlsx, на его основе создаем новый new.xlsx с измененными парой ячеек.

ГЕНЕРАЦИЯ

Пример генерации на основе результата MySQL (не тестил, использовал универсальную функцию ниже).

Если нужно протестить базовую работу генерации на основе двумерного массива

Пример генерации xls из двумерного массива с настройками

  • имени (определяется на основе значения в переменной $_POST[‘filename’]),
  • ширины столбца (на основе $_POST[‘excelSettings’]),
  • bold первой строки (setBold),
  • переноса слов (setWrapText).

Пример вызова и код по генерации кнопки, добавлению к названию файла даты/времени (формат 20170123_003800_Название.xlsx) и переходу на страницу генерации xls.

Вызов функции (про функцию iconv_for_xls ниже):

Особенности

Мусор

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

Например, возможны кракозябры при генерации файла больше 20-40 строк, если оставить включенным debug типа print_r($_POST); (почему не воспроизводиться при генерации мелких файлов – это вопрос :)).

Аналогично, будет выдавать ошибку:

  1. Если в конце кода php нет “exit;”
  2. Если перед генерацией файла нет очистки буфера вывода через “ob_end_clean();”
  3. Если используется генерация xlsx (Excel2007), но не установлены xml и xmlwriter модули PHP. Так же может выдаваться ошибка “Fatal error: Class ‘XMLWriter’ not found in /

/XMLWriter.php on line 37” т.к. библиотека PHPExcel использует наследование класса от XMLWriter (“class PHPExcel_Shared_XMLWriter extends XMLWriter”), т.е. требует установленного модуля xmlwriter. Для “нормальных” дистрибутивов это делается простым sudo apt-get/yum install php-xmlwriter (или php5-xml) и перезагрузкой apache, для gentoo это делается через пересборку всего php с новым модулем.

Отправка array на другую страницу

Чтобы функция по генерации xlsx была универсальной, сделал отдельную страницу по генерации, но на эту страницу потребовалось передать двумерный массив. В интернете гуляет два варианта решения: сохранить массив в сессии/куках, передать его через json (лучше) или serialize (хуже).

Через сессии все передавалось, только значение почему то не апдейтилось корректно. Сходу не разобрался в причинах, использовал сначала serialize (полный пример см. в function create_xls), но потом мигрировал на json из-за периодических проблем со спец. символами serialize.

Кодировка

Если на сайте кодировка cp-1251, то при генерации обязательно нужно использовать iconv в utf-8. В противном случае вместо русских символов в ячейке будет бред (например, “ИСТИНА”).

Источник: weril.me

Работа с Excel средствами PHP

PHPExcel — библиотека для создания и чтения данных из файлов формата OpenXML (который используется в MS Excel 2007). С ее помощью можно считывать из файлов, записывать в файлы, форматировать содержимое, работать с формулами и т.д. Для работы PHPExcel требуется версия PHP 5.2 или выше, с установленными библиотеками Zip, XML и GD2.

Установка PHPExcel

Первым делом библиотеку необходимо скачать. Для этого переходим на официальный сайт библиотеки и скачиваем архив PHPExcel-1.7.8.zip. После распаковки мы получим несколько файлов и папок:

  • Classes
  • Documentation
  • Tests
  • changelog.txt
  • install.txt
  • license.txt

Файлы — это различные описания по предыдущим версиям, лицензионное соглашение и очень краткая инструкция по установке. Далее, в папке Classes, содержится непосредственно сама библиотека PHPExcel — эту папку необходимо скопировать в корень нашего скрипта.

В папке Documentation содержится документация по библиотеке на английском языке. В папке Tests — примеры по использованию библиотеки.

Создание Excel-файла

Итак, давайте создадим файл makeexcel.php и начинаем работать с ним. Для начала нам необходимо подключить главный файл библиотеки PHPExcel.php (который находится в папке Classes) и создать объект класса PHPExcel:

Настройки листа книги Excel

Документ Excel состоит из книг, а каждая книга в свою очередь, состоит из листов. Далее лист состоит из набора ячеек, доступ к которым осуществляется по координатам. То есть у нас есть столбцы, которые имеют буквенные имена (А, В, С и т.д) и есть строки, которые пронумерованы. Значит, что бы получить доступ к первой ячейке нужно указать код А1. Точно также мы с помощью библиотеки будем получать доступ к каждой ячейке.

Итак, первым делом необходимо выбрать активный лист, на который мы будем выводить данные и получить объект этого листа:

С помощью метода setActiveSheetIndex(0) указываем индекс (номер) активного листа. Нумерация листов начинается с нуля. Далее с помощью метода getActiveSheet() получаем объект этого активного листа, то есть другими словами получаем доступ к нему для работы. И сохраняем этот объект в переменную $aSheet .

Если Вы захотите указать активным какой то другой лист, то вначале его необходимо создать, при помощи метода:

Затем, по аналогии, указываем индекс и получаем объект активного листа.

Вначале задаем ориентацию листа при помощи метода setOrientation() , которому передаем константу класса PHPExcel_Worksheet_PageSetup :

  • ORIENTATION_PORTRAIT — книжная
  • ORIENTATION_LANDSCAPE — альбомная

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

Далее вызываем метод SetPaperSize() , который позволяет задать размер страницы для печати. Ему передаем параметром константу PAPERSIZE_A4 класса PHPExcel_Worksheet_PageSetup . Что означает, что размер листа страницы будет установлен А4.

Далее устанавливаем поля документа, то есть отступы от краев документа. Отступы задаются в специальных символьных единицах. Вначале, обратите внимание, вызываем у объекта $aSheet метод getPageMargins() , который вернет объект класса, отвечающего за настройки полей страницы. Затем вызываем методы setTop() , setRight() , setLeft() и setBottom() .

Далее при помощи метода setTitle(‘Прайс лист’) задаем название нашего листа.

Если нужно, можно при печати выводить шапку и подвал листа:

Обратите внимание на передаваемые параметры:

  • для шапки передаем строку ‘&CТД ТИНКО: прайс-лист’ ; метка &C означает, что текст нужно расположить по центру.
  • для подвала передаем строку ‘&L&B’.$aSheet->getTitle().’&RСтраница &P из &N’ ; это означает, что нужно вывести слева и жирным шрифтом ( &L&B ) название листа (метод $aSheet->getTitle() ), затем справа ( &R ) вывести номер страницы ( &P ) из общего количества страниц ( &N ).

Затем указываем настройки шрифта по умолчанию:

  • setName(‘Arial’) — задаем имя шрифта;
  • setSize(8) — задаем размер шрифта.

Наполнение документа данными

Для начала давайте зададим ширину столбцов (в символьных единицах), которые нам понадобятся:

Теперь заполним несколько ячеек текстом:

Здесь мы сначала объеденяем ячейки с А1 до E1 при помощи метода mergeCells() , далее задаем высоту строки: вначале получаем доступ к строке 1 при помощи метода getRowDimension(‘1’) , затем задаем высоту — setRowHeight(20) . Далее при помощи метода setCellValue(‘A1′,’ТД ТИНКО’) , устанавливаем значение ячейки А1.

Далее давайте в ячейку D4 запишем текущую дату:

Теперь, используя метод setCellValue() , а также цикл while() наполним данными наш прайс-лист:

Стилизация данных

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

Теперь, по аналогии, применим стили к остальным ячейкам:

Сохранение документа

Осталось только сохранить наш документ:

Если нужно вывести документ в браузер

Первый заголовок указывает браузеру тип открываемого контента — это документ формата Excel. Второй — говорит браузеру, что документ необходимо отдать пользователю на скачивание под именем simple.xlsx.

Добавление формул

Формула Excel — это математическое выражение, которое создается для вычисления результата и которое может зависеть от содержимого других ячеек. Формула в ячейке Excel может содержать данные, ссылки на другие ячейки, а также обозначение действий, которые необходимо выполнить.

Использование ссылок на ячейки позволяет пересчитывать результат по формулам, когда происходят изменения содержимого ячеек, включенных в формулы. Формулы Excel начинаются со знака =. Скобки ( ) могут использоваться для определения порядка математических операции.

Примеры формул Excel: =27+36 , =А1+А2-АЗ , =SUM(А1:А5) , =MAX(АЗ:А5) , =(А1+А2)/АЗ .

PHPExcel тоже поддерживает добавление формул в ячейки. Установить формулу можно так:

Чтение Excel-файла

Самый простой вариант — считать все таблицы (на всех листах) и записать данные в трехмерный массив:

Источник: tokmakov.msk.ru

Библиотека функций в Excel

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

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

Как получить доступ к библиотеке

Чтобы получить доступ к библиотеке функций Excel, выберите вкладку Формулы. Все возможные категории и команды вы можете увидеть в группе Библиотека функций.

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

Вставить функцию

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

Автосумма

Команда Автосумма позволяет автоматически вычислять результаты для наиболее распространенных функций Excel, таких как СУММ, СРЗНАЧ, СЧЕТ, МАКС и МИН.

Последние

Команда Последние дает доступ к функциям Excel, с которыми Вы работали недавно.

Финансовые

Категория Финансовые содержит функции для финансовых расчетов, например, сумма периодического платежа ПЛТ или процентная ставка по кредиту СТАВКА.

Логические

Функции из категории Логические используются для проверки аргументов на соответствие определенному значению или условию. Например, если сумма заказа меньше $50, то добавляется цена доставки $4.99, а если больше, то стоимость доставки не взимается. В данном примере целесообразно использовать функцию ЕСЛИ.

Текстовые

В категории Текстовые содержатся функции, которые работают с текстом в качестве значений аргументов. С помощью них можно решать такие задачи, как преобразование текста в нижний регистр (СТРОЧН) или замена части текста на другое значение (ЗАМЕНИТЬ).

Дата и время

Категория Дата и время содержит функции для работы с датами и временем в формулах. Например, функция СЕГОДНЯ возвращает текущую дату, а функция ТДАТА дополнительно к дате еще и время.

Ссылки и массивы

В категории Ссылки и массивы содержатся функции, которые предназначены для просмотра и поиска информации. Например, Вы можете добавить гиперссылку (ГИПЕРССЫЛКА) в ячейку или вернуть значение, которое расположено на пересечении заданных строки и столбца (ИНДЕКС).

Математические

Категория Математические включает в себя функции для обработки числовых аргументов, выполняющие различные математические и тригонометрические вычисления. Например, вы можете округлить значение (ОКРУГЛ), найти значение Пи (ПИ), произведение (ПРОИЗВЕД), промежуточные итоги (ПРОМЕЖУТОЧНЫЕ.ИТОГИ) и многое другое.

Другие функции

Раздел Другие функции содержит дополнительные категории библиотеки функций, такие как Статистические, Инженерные, Аналитические, Проверка свойств и значений, а также функции, оставленные для поддержки совместимости с предыдущими версиями Excel.

Как вставить функцию из библиотеки

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

  1. Выделите ячейку, которая будет содержать формулу. В нашем примере это ячейка D3.
  2. Выберите вкладку Формулы на Ленте, чтобы открыть Библиотеку функций.
  3. В группе команд Библиотека функций, выберите нужную категорию. В нашем случае мы выберем Дата и время.
  4. Выберите нужную функцию из выпадающего меню. Мы выберем функцию ЧИСТРАБДНИ, чтобы вычислить количество рабочих дней между датами заказа и получения товара.
  5. Появится диалоговое окно Аргументы функции. Здесь вы можете ввести или выбрать ячейки, которые будут составлять аргументы. Мы введем B3 в поле Нач_дата и С3 в поле Кон_дата.
  6. Если аргументы введены правильно, нажмите ОК.
  7. Функция будет вычислена, и Вы увидите результат. Результат показывает, что доставка заказа заняла 4 рабочих дня.

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

Источник: office-guru.ru