Как стать автором
Обновить
2714.51
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Excel — самый опасный софт на планете

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров100K


В 80-е годы компании покупали компьютеры, чтобы запустить электронные таблицы. Автоматический расчёт налогов и зарплат казался чудом. Тысячи бухгалтеров оказались на улице, остальным пришлось осваивать работу ПК, а конкретно — Excel.

И до сих пор Excel играет важнейшую роль в бизнесе многих компаний. Без электронных таблиц у них просто всё развалится. Сложно найти на компьютере другую программу настолько древнюю и настолько важную, от которой столько всего зависит. И в такой ситуации факапы неизбежны.

▍ Программирование в Excel




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


Есть даже поддержка функций JavaScript:


Это настоящее программирование, там можно запрограммировать расчёты любой сложности. При этом нельзя забывать первое правило Excel: никому не говорить, что вы хорошо им владеете. Иначе повесят столько задач, что мало не покажется.



Мощные возможности по программированию в Excel привели к тому, что некоторые компании построили на его основе целые корпоративные приложения. Например, недавно директор британской команды Williams из автогонок «Формула-1» Джеймс Ваулз(James Vowles) поведал, что учёт всех 20 000 комплектующих для сборки болидов ведётся в Excel, и это превратилось в настоящий кошмар. Рабочую книгу очень трудно просматривать и обновлять. В этом колоссальном файле Excel не хватало информации о том, сколько стоит каждая из деталей, сколько времени требуется на их производство, какие детали уже заказаны, а какие нет. «Когда вы начинаете отслеживать сотни тысяч компонентов, перемещающихся по организации, таблица Excel становится бесполезной, — сказал Ваулз в интервью The Race, — из-за множества состояний, в которых может находиться каждая деталь — заказана, отложена, проверена, возвращена — человеку часто приходится разбираться в подробностях… И как только вы вводите уровень сложности современной Формулы-1, то Excel не справляется, и люди тоже».



Из-за хаоса Excel и вызванных им заминок команда Williams пропустила ранние предсезонные тесты в 2019 году. Работникам иногда приходилось физически искать запчасти на заводе команды. Неправильные детали получали приоритет, другие приходили с опозданием, а некоторые накапливались. Переход на современную систему трекинга в 2023 году оказался «чудовищно дорогим», а чтобы компенсировать болезненный процесс, «люди довели себя до абсолютного предела и перешли его».



Несколько лет назад в использовании Excel при разработке нового болида признавалась команда Renault Sport, у которой размер таблицы достигал 77 000 строк.

И они наверняка не единственные компании, которые пытаются втиснуть большие данные в электронные таблицы. Их можно понять. В наше время Excel обрастает вспомогательными средствами. Например, есть даже программа для публикации (экспорта) электронных таблиц в виде веб-приложений. Тяжело отказаться от универсального и инструмента, в котором можно сделать что угодно.

▍ Ограничения Excel


В современном Excel действуют следующие ограничения на размер таблиц и рабочих книг:

  • 1 048 576 строк,
  • 16 384 столбцов,
  • 255 символов (ширина колонки),
  • 32 767 символов (максимальное содержимое ячейки),
  • 512 шрифтов на рабочую книгу,
  • не более 65 530 гиперссылок в одной таблице,
  • 10 000 элементов в раскрывающихся списках фильтров,
  • название файла, включая путь — не более 218 символов,
  • и др.

Многие ограничения упираются в объём доступной оперативной памяти.

Макросы, лямбды и встроенное в Excel программирование — это великолепно, однако широкая функциональность имеет и обратную сторону. Перегруженные макросами огромные документы отнимают много системных ресурсов, то есть попросту тормозят. Иногда открытия таблицы с тысячами листов приходится ждать несколько минут, и она с трудом помещается в память. Злоумышленники используют макросы для запуска вредоносного кода.


Тысячи листов, формулы и макросы с автоматическими расчётами — это уже мини-приложения. Excel не создан для такого.

В разгар эпидемии ковида Национальная служба здравоохранения Великобритании потеряла результаты тестирования на ковид в процессе конвертации файлов из формата CSV в XLS, который поддерживает только в районе 65 000 строк. Для справки, XLS — это старый формат 1987 года, на смену которому в 2007 году пришёл XLSX.

Были потеряны данные о 15 841 пациенте:



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

Гарвардские профессора Кармен Рейнхарт и Кеннет Рогофф опубликовали научную работу о корреляции роста ВВП и высокого национального долга стран. Из-за ошибки в вычислениях Excel выводы их экономической работы оказались неверными. По некорректному расчёту, страны с самым большим долгом показывают падение ВВП, хотя на самом деле там наблюдается рост 2,2% (исправленный расчёт).

В 2012 году банк JPMorgan Chase чуть не обанкротился из-за рискованных инвестиций. Как показало внутреннее расследование, расчёты рисков выполнялись в таблицах Excel, где данные переносились вручную копипастом из одной таблицы в другую — и была допущена ошибка, что привело к занижению рисков при торговле деривативами.

Когда Barclays выкупал активы обанкротившегося банка Lehman Brothers, они скрыли 179 строк с ненужными активами в таблице Excel, но не удалили их. При распечатке документа в PDF эти строки были напечатаны — и суд обязал Barclays выкупить в том числе эти 179 убыточных активов.

В 2023 году австрийская политическая партия SPÖ из-за ошибки в Excel объявила победителем на выборах не того кандидата.

В 2017 году финансовый директор Adobe запретил своим сотрудникам пользоваться Excel (все перешли на Adaptive Insights EPM, из других альтернатив называют Anaplan и Workiva). С такими же запретами выступило руководство China Bistro, ABM Industries, Wintrust Financial и многих других компаний. Отказ от Excel снижает риски ошибок в расчётах и упрощает документооборот.

Исследование EuSpRIG (Европейская группа по рискам электронных таблиц) показало, что более 90% электронных таблиц содержат ошибки, а в половине корпоративных таблиц присутствуют «материальные дефекты».

Ну и вдобавок традиционные глюки с автоформатированием, из-за которого даже биологам приходится переименовать гены человека, такие как MARCHF1 (бывший MARCH1) и SEPTIN1 (бывш. SEPT1), чтобы Excel не принимал их за даты. Исследование 3597 опубликованных научных статей показало, что примерно в 20% сопроводительных материалов (электронных таблиц) к статьям присутствуют ошибки в названиях генов:



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

Вот почему Excel иногда называют «самой опасной программой на планете». Слишком многое от неё зависит. И слишком много ошибок.

▍ Альтернативы Excel


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

И есть более продвинутые сервисы, кроме Google Sheets. Например, Airtable уже выходит на грань между электронными таблицами и реляционной СУБД и позиционируется как конструктор приложений:



Недавно появился ещё один сервис Grist, который позиционирует себя как опенсорсная альтернатива Airtable. Но между Grist и Airtable есть и ключевые различия. Grist гораздо лучше настраивается и здесь более надёжная поддержка формул, и вообще другой подход в вопросах владения данными, включая гранулированные разрешения на доступ (кастомные фильтры действуют для конкретных пользователей, так что каждому можно показывать отдельную версию документа или разрешать редактировать только конкретные столбцы).

И Grist, и Airtable позволяют связывать записи в разных таблицах. В Airtable связанные записи отображаются в карточке как быстрая ссылка на связанную информацию. В Grist можно извлекать данные частично или полностью, в виде карточки или таблицы.



Можно создать множество различных представлений одних и тех же данных. В некоторых аспектах Grist напоминает скорее СУБД Access, а не Excel:





Grist и Airtable предлагают колонки нескольких типов: числовые, текстовые, дата, выбор, ссылка и вложение. Подход к работе с БД является их отличительным признаком по сравнению с традиционными электронными таблицами. Оба предлагают удобные виджеты, такие как календарь для выбора даты и выпадающий список с автозаполнением.



Для разработчиков кастомные виджеты открывают больше возможностей. Они могут считывать и/или записывать данные в документ и представлять их в новых форматах, например, создавать счета-фактуры или почтовые наклейки. Кроме того, они могут подключать внешние данные. Например, подключить карту и отметить места, сохранённые в документе. В Grist виджеты похожи на Blocks SDK Airtable, которые тоже позволяют пользователям Airtable создавать собственные приложения.

В Airtable скриптовые приложения более продвинутые, чем в Grist, но здесь тоже доступные функции вроде встраивания Google Maps, рандомизации значений или массового прикрепления файлов к ячейке, хотя другие автоматизированные функции пока недоступны.

Grist и Airtable поддерживают Excel-подобные функции вроде IF(), CONCATENATE(), COUNT() и т. д. В то же время Grist поддерживает Python для создания более мощных формул, которые углубляют анализ данных и вычисления.

Всю реляционную структуру таблиц Grist можно экспортировать в виде файла .grist, который представляет собой файл SQLite и может быть открыт в других программах SQLite. Резервное копирование документов выполняется автоматически, а снимки можно легко экспортировать в полном объёме.

К сожалению, и Grist, и Airtable — платные сервисы. Бесплатный тарифный план Airtable позволяет хранить только 1200 строк, а у Grist — 5000 строк. Но у Grist опубликован исходный код, так что сервер можно поставить на своём хостинге и пользоваться им бесплатно.

Сравнение функционала Grist и Airtable:




В качестве потенциальной альтернативы Excel можно упомянуть ещё Ultorg — приложение для работы с базами данных общего назначения, которое подключается к имеющимся данным:



Более подробно автор объясняет концепцию в этой девятиминутной презентации.

▍ Всё можно исправить. Люди просто не хотят этого делать


Мы упомянули несколько случаев, в которых люди предпочитают использовать «костыли» Excel вместо специализированной СУБД или ERP. Они часто предпочитают старый инструмент, даже когда он уже не является эффективным решением задачи. Но никто не хочет перестраивать базу с нуля, все цепляются за старое легаси и строят новые костыли поверх старых. Всё это превращается в огромный карточный домик, который только чудом не падает.

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

Полагаясь на Excel, нужно помнить, что это довольно ограниченная и глючная программа, не СУБД, не ERP, не корпоративная система, а просто электронные таблицы. Ради безопасности иногда нужно выбрать более надёжный, специализированный софт или написать собственное решение. Как известно, большие данные не помещаются в Excel.


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



Telegram-канал со скидками, розыгрышами призов и новостями IT 💻
Теги:
Хабы:
Всего голосов 98: ↑84 и ↓14+95
Комментарии247

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds