Переход с Excel на отечественный аналог ныне тема горячая, по которой уже достаточно статей, вот и вот например. Но работа с таблицами в них была недостаточно раскрыта, отчего я решил исследовать продукт самостоятельно в преддверии надвигающегося на нас импортозамещения.
Сделав к Таблицам первый подход и воспроизведя типичный для пользователя Excel поток задач я ощутил... приступы фрустрации. Не все посчитают описанные впереди проблемы критичными, но я уверен что для определенного круга людей повседневная работа в МойОфис Таблицы будет крайне некомфортна или просто невозможна.
Характеристики используемого железа:
-
Intel Pentium CPU G4620, 2 ядра по 3.7 ГГц
-
16 Гб оперативной памяти
-
ОС Windows 10 PRO
Также отмечу что тестировались Таблицы из пакета МойОфис Стандартный. Домашняя версия.
Итак, представим что мы специалист по закупкам и у нас есть выгрузка отчета по закупочной деятельности, который содержит историю заявок на закупку и заказов на поставку. Таблица хранится в файле .xlsx, весит примерно 25 Мб, имеет около 130 тысяч строк, 44 колонки, пустые ячейки заполнены символом # (так нам выгрузили отчет из системы). В ней нет формул, только данные в которых ничего особенного - номера заявок, наименование поставщиков, коды проектов закупки, количества, стоимости и т.д. Наша организация только что перешла на МойОфис и мы пытаемся открыть наш отчетик, поискать в нем какие-нибудь данные, пофильтровать, возможно что-то посчитать.
Итак, открываем файл и ждём некоторое время... примерно за полминуты файл открывается. Всё немного тормозит - перемещение курсора по ячейкам происходит с небольшой задержкой. Хотим проверить сколько в отчете строк и прокатываем курсор вниз через Ctrl+End. И снова ждём, на этот раз подольше, судя по таймеру полторы минуты. Чувствуем себя немного странненько, обычно эти действия не занимали столько времени. Пока наш документ загружается, от скуки заглядываем в Диспетчер задач, А ТАМ
Ого, открытие одного файла размером 30 Мб стоит нам 4 гигабайта оперативной памяти! Может с файлом что-то не так? Пробуем произвести те же действия в Excel.
Если мы одновременно откроем второй такой же файл то процесс МойОфис потолстеет до эпических 8 гигабайт. Хорошо что в нашей конфигурации доступно целых 16, но менее мощным системам придётся очень непросто.
Идем дальше, желаем найти все заявки с определенным номером. Выделяем первую строку и вызываем фильтр на Ctrl+Shift+L. Не вызывается, идём в справку по горячим клавишам и возвращаемся обратно, потому что горячих клавиш для фильтра нет. Применение фильтра по кнопке из верхней панели отправляет нас в ожидание ещё на полторы минуты. В итоге нам становится доступно симпатичное плавающее меню фильтрации.
В нём можно увидеть сколько раз встречается каждое значение в колонке, что полезно. Было бы совсем хорошо если бы была дополнительная цветовая индикация (чаще встречаемые красным, реже - зеленым или серым), так проще было бы видеть какие-либо всплески в данных. Из минусов этого окошка - в нем совсем нет условных фильтров: фильтра по цвету, по числовому условию или нескольким условиям. Ну и так же как и ранее
В итоге мы выбираем несколько заявок, применяем фильтр и получаем результат в течение минуты. Попытка применить формат "Дата" к колонке где у нас лежат даты заявок имеет тот же эффект. Как и изменение ширины какого-либо поля. В целом большая часть манипуляций с большой таблицей заставляет приложение подолгу подвисать.
С производительностью нам всё понятно, не будем к ней возвращаться. Предположим что у нас очень мощный компьютер и возможно лаги не такие большие. Мы смотрим в данные и видим, что у нас нет поля с общей суммой заказа, но есть с количеством и ценой. Не проблема, мы введем формулу и она посчитает за нас. Но мы заметили что по какой-то причине в некоторых ячейках стоит неправильный разделитель дробной части, отчего формула возвращает ошибку. Мы встречались с таким раньше и знаем что делать! Выделяем "неправильную" колонку, вызываем поиск и замену через Ctrl+F, указываем в появившемся боковом меню искомую подстроку и символ замены, жмем "Заменить всё" и... замена происходит по всему листу и портит данные. По нажатию кнопки "Замена" наше выделение просто сбрасывается.
Произошло явно что-то не то и проверка параметров поиска не даёт нам никаких ответов. Документация также молчит об искомом функционале. Похоже что мы просто не можем произвести замену подстроки в отдельной колонке или строке!
Новости фантастические, но мы сильнее этого, производим эту замену в стороннем ПОи наконец доходим до нашей формулы. Синтаксис и общие принципы выглядят знакомыми, без проблем через звездочку перемножаем значения двух ячеек в строке и сталкиваемся с невозможностью автоматически протянуть формулу через всю таблицу. За нижний правый угол формулу возможно протянуть через колонку рукой, но автоматически применить её к каждой строке таблицы нельзя. Есть выход скопировать формулу и вставить в выделение, но в большинстве случаев это выделение всё равно придётся протягивать рукой, что в случае когда у вас десятки и сотни тысяч строк очень неудобно. В соответствующем разделе документации каких-либо секретов как сделать это найдено не было.
Подытоживая этот небольшой, но важный опыт, должен сказать что у меня нет цели полить пакет МойОфис грязью и рассказать какой плохой это продукт. Его простота и лаконичность может кому-то показаться комфортной, а Домашняя версия с Таблицами и Документами доступна бесплатно. Тем не менее на данном этапе этот продукт имеет большие проблемы с производительностью на больших наборах данных и недостатком весьма критичного для повседневной работы функционала, который стал давно привычен в пакете MS Office. Поэтому если вы работаете с большими наборами данных и вам из коробки нужны возможности манипуляций с ними и инструменты анализа (продвинутые фильтры, удаление дублей, условное форматирование, фильтры по нескольким полям одновременно...), то вы просто не сможете работать в МойОфис Таблицы.
Возможно в корпоративной версии эти проблемы не так остро выделяются или вообще не актуальны, но на данный момент я не смог найти подобной информации. Если есть что об этом добавить, то пишите в комментарии. Также если хотите более подробный разбор Таблиц, то тоже пишите в комментарии :)
Автор: Михаил Парамонов