Функции libreoffice calc и excel сравнение
Таблицы. На протяжении веков они используются для представления однотипных данных в целях ведения учета, подсчета сумм, и анализа данных. Долгое время таблицы были неизменным инструментом в бухгалтерском учете и статистики. И, лишь в конце 20 века, они обрели совсем другое качество. Электронные таблицы стали симбиозом технологий прошлого и настоящего. Удобная организация данных и способы вычисления совместились с вычислительными способностями компьютеров. Что позволило быстро производить вычисления и анализ огромных объемов данных. А также решило проблему хранения и передачи данных.
Электронные таблицы строит рассматривать не как сущность, а как прикладную программу, также называемую табличный процессор. Такая программа позволяет вести учет данных в таблицах, производить различные их вычисления и преобразования. Табличные процессоры используются повсеместно, также, как и таблицы когда-то. Главное преимущество таких программ в том, что они не требую специфических знаний в учете, достаточно немного изучить программу, чтобы использовать ее базовый функционал, которого достаточно большинству пользователей. Пожалуй, нет ни одного пользователя ПК, который бы не слышал слово Excel. Именно благодаря этому, мы все открываем табличный редактор, когда нужно «подбить» смету на ремонт в квартире, или просто написать список гостей на вашу свадьбу.
В настоящий момент существует достаточно много однотипных табличных процессоров. Но, пожалуй, самые известные из них – Microsoft Excel и OpenOffice Calc. Цель этой статьи рассмотреть форматы файлов этих табличных процессоров и понять, какой из них стоит использовать в той или иной ситуации.
Формат XLS
Вплоть до 2007года Microsoft Excel использовал свой проприетарный формат формат данных с расширением XLS.
Помимо таблиц с данными и формул, файл xls может хранить в себе векторные и растровые рисунки, диаграммы и макросы(скрипты).
Файл xls на самом деле представляет собой двоичный формат BIFF. До появления xlsx в 2007, это был основной формат хранения документов Excel. И, естественно это был закрытый формат. Поэтому, Excel достаточно долго не имел конкурентов.
Если копнуть чуть глубже, то основой формата BIFF послужил разработанный в 1985 году формат Interchange File Format(IFF). Файл этого формата представляет собой контейнер, который содержит документ, метаданные, мультимедиа данные, графику.
Формат ODS
Как уже говорилось, Microsoft Excel долго был монополистом в сфере обработки электронных таблиц и во многом благодаря закрытому формату данных. Но, в начале двухтысячных группа компаний решила создать свой собственный стандарт для электронных документов, который бы позволил полностью отказаться от Microsoft Office. В 2006 году формат ODF получил стандарт ISO/IEC 26300. Этот формат представляет собой целое семейство форматов для разных продуктов:
Odt – для текстового процессора, ods – для табличного процессора, odp – для электронных презентаций и другие.
В контексте этой статьи нас интересует формат ODS, но он построен по общей концепции одинаково с остальными из группы форматов ODF. Суть формата в том, что используется контейнер – ZIP архив, который содержит внутри XML – сам документ, файлы с мета-данными, графические и мультимедиа файлы. Таким образом, мы имеем вроде бы один файл, но со всем необходимым «контентом» документа внутри. Вы с легкостью можете открыть файл ods в архиваторе, если измените расширение на zip. И внутри увидите все файлы, описанные выше.
Главное преимущество этого формата заключалось в том, что он стал открытым и имел официальный стандарт. Использование XML для формирования основного документа сделало создание и понимание этого формата просты им понятным. Благодаря этому, поддержка этого формата быстро появилась в большинстве табличных процессоров. И хотя, первый стандарт имел некоторые нарекания и скепсис со стороны пользователей, ODF достаточно быстро завоевал популярность не только среди любителей опенсорса, но и среди многих коммерческих и некоммерческих организаций, которые захотели отказаться от дорогого решения Microsoft.
Формат XLSX
Однако, такое положение дел не устраивало Microsoft, и на волне общего бума развития опенсорс приложений, компания выпускает свой открытый формат – xlsx. И хотя название отличается от предыдущего формата лишь одной буквой, по сути это совсем другой формат. По своей структуре он похож на ODS. Это тоже ZIP-контейнер с XML файлом внутри. Также, помимо XML, внутри файлы с графикой, мультимедиа, скриптами.
Этот формат появился на год позже ODF, в 2007год. И, начиная с версии Excel 2007, он стал официальным форматом по умолчанию. Поддержка старого xls, конечно сохранилась, ведь за многие годы его существования накопилось огромное количество документов, преобразовать которые в новый формат не так-то просто. По инерции пользователи продолжали работать со старым форматом ввиду наличия старых версий MS Office на предприятиях достаточно долго. Многим пользователям MS Office было непонятно для чего появился новый формат. А появился он по двум причинам: это и политика компании, которая начала вливаться на рынок программного обеспечения с открытым исходным кодом, и стремление сохранить клиентов, которые заинтересовались бесплатными продуктами OpenOffice. Но и практическую пользу новый формат тоже привнес. Файлы с расширением xlsx имеют значительно меньший размер по сравнению с xls. Программисты наконец-то смогли разбирать документы Excel в своих программах.
Сравнение
Итак, мы выяснили, что форматы ODF и XLSX имеют схожую архитектуру, благодаря использованию ZIP-контейнера их размер значительно меньше устаревшего формата xls, они оба имеют открытый стандарт. Кроме того, новые форматы более устойчивы к повреждениям по сравнению с устаревшим бинарным. Без части файлов внутри контейнера, документ сохранит работоспособность.
Очевидно, что выбирать какой лучше использовать нужно между ними двумя. С одной стороны, малоизвестный продукт OpenOffice, которые многие восприняли как «китайскую» подделку под MS Office. С другой стороны – давно известный и суперпопулярный табличный процессор MS Excel. Очевидно, что наработанная за многие годы клиентская база Microsoft отдает предпочтение формату xlsx. Поэтому и популярность этого формата гораздо больше ODS.
OpenOffice стремится отстоять свой формат и поддерживает xlsx только на чтение. Однако, имеет широкие возможности по чтению и сохранению документов в устаревший формат xls, который тоже стал открытым после появления xlsx, правда для некоммерческого использования.
Такая ситуация не со всеми opensource табличными процессорами. К примеру, LibreOffice Calc (который создан на основе OpenOffice) поддерживает xlsx полноценно. Но, как бы не старались производители поддерживать чужие форматы, всегда останутся проблемы. Поддержка макросов в форматах Microsoft все еще остатется проблемым местом.
Microsoft Excel тоже имеет поддержку формата конкурентов ODS. Но и тут не все гладко. Часто форматирование отличается от оригинала.
Таким образом, все стараются обеспечить поддержку форматов конкурентов, но получается это не идеально. Поэтому нельзя сказать используйте бесплатное ПО для работы с документами Excel. Ровно, как нельзя рекомендовать использовать MS Excel в качестве универсального решения для работы с любыми форматами. Вам придется определять область применения табличного процессора. Для компаний, которые долго работали с MS Office переход на опенсорс продукты может оказаться болезненным. Многие старые документы будут отображаться с ошибками, да и макросы будут работать частично.
Тем не менее многие крупные компании уже перешли на OpenOffice и пережили озвученные выше неприятности. Проблем с нативными форматами в бесплатных офисных пакетах нет, поэтому свою нишу эти продукты займут.
Для России в последнее время актуальна проблема с названием «импортозамещение». Замещать импортный платный софт довольно трудно, ввиду отсутствия достойных решений для замены. Но в ситуации с офисными продуктами это не так. Бесплатные офисные пакеты вполне могут конкурировать с MS Office, остаётся лишь проблема совместимости, о которой мы говорили выше.
Генерация отчетов в XLSX и ODS
Зачастую, отчетность представляется в табличном формате. И если вы используете генератор отчетов, то наверняка преобразуете эти отчеты в электронные таблицы и удобства редактирования. Поэтому, в рамках этой статьи, было бы интересно посмотреть, как будет выглядеть один и тот же отчет, экспортированный в формат xlsx и ods, при просмотре в табличных процессорах MS Excel и OO Calc (OpenOffice).
Выполним его экспорт в формат Excel 2007 (xlsx):
А если просмотреть этот же файл в OpenOffice Calc, картина вас не обрадует:
Зато OO Calc хорошо отобразит отчет в формате ODS:
Но если открыть ods в Excel.
Теперь вы убедились своими глазами, как на самом деле поддерживаются документы сторонних форматов. Такая совместимость нам не нужна!
Из этого можно сделать выводы, что по большому счету какой именно формат использовать разницы нет, главное, чтобы он использовался в нативном табличном процессоре, иначе огорчения и расстройства будут вашими постоянными спутниками.
Часто в повседневной компьютерной деятельности возникает задача сравнения двух списков. Ситуации могут быть очень разными, списки могут быть какими угодно, например:
- Список покупок, занесенных в табличный процессор (Excel, LibreOffice Calc, Google Docs и т.п.);
- Список файлов, полученный копированием из Total Commander;
Вариантов огромное количество, цель одна – получить список отличий одного списка от другого.
Для решения такой задачи отлично подходят две программы: Excel или LibreOffice Calc.
В качестве примера я возьму ситуацию, когда надо сравнить два списка файлов по названию. Предположим, у меня есть две папки с фотографиями и я хочу узнать каких файлов нет во второй папке относительно первой.
Для получения списка файлов из папки я буду использовать поиск в Total Commander. Да, есть такая классная фича в Total Commander.
Открываю первую папку с фото и открываю стандартное окно поиска по ALT+F7, задаю маску поиска *.jpg для поиска только файлов фото.
В результате поиска в папке «Фото» было найдено 49 файлов. Чтобы скопировать список найденных файлов в буфер обмена нажимаем стандартную комбинацию клавиш CTRL+C.
Запускаем Excel. По умолчанию открывается пустая книга. На первом листе становимся в ячейку A1 и нажимаем стандартную комбинацию CTRL+V, чтобы вставить скопированный список.
Теперь нужно сделать поиск файлов во второй папке «Фото1». В результате поиска найдено 199 файлов. Копируем список через CTRL+C.
Скопированный список из второй папки вставляем в ячейку A1 на другой лист, в моем случае это «Лист2»
Теперь необходимо удалить из имен файлов пути, так как сравнивать нам необходимо имена файлов. Данная задача творческая, решить ее можно несколькими способами. Для этого примера я использую самый простой – это групповая замена. Так как у меня нет вложенных подпапок, то во всех именах файлов содержится один вид пути.
Итак, на листе «Лист1» я выделяю в любой ячейке кусочек строки «d:\Фото\», копирую его в буфер и нажатием ESC выхожу из режима редактирования.
Для групповой замены нажимаю CTRL+H. В стандартном окне замены в поле «Найти:» вставляю скопированный кусок строки. Поле «Заменить на:» оставляю пустым.
Нажимаю кнопку «Заменить все».
Контролирую процесс замены, сравнивая количество изначальных строк с количеством замен. В моем случае все отлично 49 строк и 49 замен.
Тоже самое проделываю и на втором листе.
В результате замен на двух листах остаются списки файлов без пути. Теперь их можно сравнивать.
Для сравнения используем функцию «ВПР».
В ячейке B1 листа «Лист1» нажимаю «=» и начинаю писать имя функции ВПР, открываю скобку «(«. Теперь Excel подсказывает мне синтаксис аргументов функции. Первым параметром мне нужно указать строку, которую я буду искать в другой области(«искомое_значение»). Я указываю ячейку A1.
Далее ставлю точку с запятой и указываю второй параметр «таблица». Под таблицей понимается область листа из нескольких столбцов. Поиск искомого значения будет происходить в первом столбце указанной области. В моем случае я просто указываю весь столбец A листа «Лист2». Чтобы указать весь столбец нажимаю на заголовок столбца когда курсор становится жирной стрелкой вниз.
Опять ставлю точку с запятой и указываю параметр «номер_столбца». Все столбцы в области поиска условно нумеруются от 1. Так как у меня в области поиска всего один столбец в параметре я ставлю 1.
Итоговая формула выглядит вот так
В нашем случае файл с таким именем есть во втором списке и функция ВПР нашла его и вернула значение из первого столбца области поиска, т.е. само имя файла.
Теперь осталось скопировать формулу для всех остальных строк на первом листе.
Следующим шагом будет установка фильтра по столбцу B на листе «Лист1». Выделяем весь столбец «B»
Затем нажимаем «Сортировка и фильтр» и выбираем пункт «Фильтр»
В результате получается вот такой вид на листе «Лист1»
Чтобы увидеть список файлов, которых нет во втором списке, надо раскрыть список фильтра и выделить только значение с типом «Н/Д»
В нашем случае таких файлов нет. Т.е. во втором списке есть все файлы из первого списка. Осталось установить функцию ВПР для всех строк на втором листе.
Обратите внимание на то, что в качестве области поиска указывается столбец «A» на «Лист1». Формулу копируем для всех строк листа «Лист2»
Устанавливаем фильтр на втором листе аналогично первому. После установки фильтра, в списке значений фильтра в самом конце обнаруживается значение «Н/Д». Строки, содержащие такое значение и указывают на файлы из второго списка, которых нет в первом.
Устанавливаем галочку на «Н/Д» и нажимаем «ОК». Все остальные галочки в фильтре снимаем.
В результате фильтрации мы видим список уникальных файлов второго списка, которых нет в первом.
Собственно, цель сравнения достигнута. Что делать с этим списком уже другой вопрос.
При сравнении в LibreOffice Calc формула ВПР выглядит абсолютно аналогично Excel
Читайте также: