В 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 ?

Комментарии (32)


  1. aborouhin
    26.08.2024 10:37
    +5

    Если уж по альтернативам Airtable проходиться - то nocodb, Seatable и Baserow странно не упомянуть, да и вообще сотни их. Но вот это всё реально скорее Access, чем Excel. Во-первых, обычный офисный работник с гораздо меньшей степенью вероятности осилит соорудить какой-то инструмент "наколенной автоматизации" с помощью этих инструментов - а в этом вся сила Excel. Во-вторых, по функционалу есть принципиальные расхождения.


  1. Ivan22
    26.08.2024 10:37
    +7

    размер таблицы достигал 77 000 строк.

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

    77к строк и это большие данные. Большие данные, Карл !!!!! BigData, епт. Кластер датабрикса надо развернуть в Azure чтобы там сводную таблицу пересчитать :)


    1. Romano
      26.08.2024 10:37
      +2

      Учитывая что работа с данными ведется напрямую в самой даблице - это вполне себе BigData в мире Excel.


      1. Sekekekeke
        26.08.2024 10:37

        Даже в мире эксель это копейки, он даже не шелохнется на таком объеме.


    1. rPman
      26.08.2024 10:37

      BigData это не про количество, а по объем работ, который привычным способом невозможно решить за разумный срок или разумные ресурсы

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

      Т.е. компании страдают от классического технического долга.


  1. tae1980
    26.08.2024 10:37
    +22

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

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

    Руководство проектов не обеспечило подготовку/переподготовку персонала, персонал забил на технические нормы, как следствие возникли сбои - а виновата программа. Вывод супер!


    1. Mihij
      26.08.2024 10:37

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


    1. Overphase
      26.08.2024 10:37

      поклёП


  1. NTDD
    26.08.2024 10:37
    +1

    А что по поводу Originlab? В научной работе он уже у большинства заменил эксель, по моим наблюдениям (скрин в аттаче).

    Он гораздо быстрее поддерживает большие объёмы данных (субъективно), плюс вот эти все фишечки по настройке графиков или даже фиту спектральных данных присутствуют.

    Ну и в ячейках у него можно писать скриптами на питоне =)


    1. Nergal2004
      26.08.2024 10:37
      +1

      Верно. С вероятностью 99.9% можно утверждать, что если в статье графики из Excel - статья гамно


    1. Vytian
      26.08.2024 10:37

      Ну да. Только когда люди начинают в нем ещё и расчеты вести, и потоковые данные обрабатывать -- столько же замечательных скриптов и плагинов есть ! -- образуется замечательный Excel номер 2, только влияние, к счастью, сильно более ограниченное.

      Потому что origin - это программа отображения табличных данных в форме графиков.

      Только теперь оно еще и data analysis, и методы для BigData разумеется там тоже завезли.


      1. NTDD
        26.08.2024 10:37

        Использую origin для всяких расчётов и обработок потоков данных, когда их не так много и заводить полноценный python или какой-нибудь igorpro будет дольше. А таких ситуаций много, на самом деле, в научной работе - обработать как-то по быстрому 50 спектров определённым образом (с учётом, что не нужно это будет повторять в течение хотя бы полугода). 50-100 столбцов данных это как раз тот размер для меня, что полноценную программу или скрипт писать и отлаживать дольше, чем в ориджине потыкать.

        Ну и к тому же, не все учёные программируют, для них условные скриптики, которые сейчас в ориджине почти для всего - это спасение.


  1. Zara6502
    26.08.2024 10:37
    +1

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


  1. RKrop
    26.08.2024 10:37
    +7

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


    1. K0styan
      26.08.2024 10:37

      Скажем так: на undefined behaviour-ы Excel богат, уж не знаю, баги это или фичи.

      У меня была такая история: есть табличка с расписанием транспорта, одна из колонок - время, когда он перестаёт ходить. Excel почему-то решил, что в одной-единственной строчке должно быть не время, а дата-время.

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

      Оно, конечно, редко бывает. Но иногда очень метко.


  1. Kden2019
    26.08.2024 10:37
    +3

    учёт всех 20 000 комплектующих для сборки болидов ведётся в Excel,

    всего то 20 000 - как там можно запутаться?


  1. Lazhu
    26.08.2024 10:37
    +1

    И ведь есть же sql, который гораздо старше ёкселя. Но когда в руках молоток, все вокруг кажется гвоздями


    1. K0styan
      26.08.2024 10:37
      +2

      Эволюция. Или сценарий "лягушка в медленно греющейся воде", как больше нравится.

      Была исходно простенькая табличка, в которой ломаться нечему было. Потом добавили признаков. И ещё. И ещё. Потом данных. Потом формул. Потом скриптов. Потом коннектов к другой табличке.

      Пропустить (или отложить) момент перехода на БД, хоть какую-то, очень легко - ведь это отдельная работа, а операционка сама себя не сделает.


    1. Shatun
      26.08.2024 10:37

      SQL в чистом виде может заменить малую часть экселя, и при том часто будет требовать больше телодвижений. К sql в большинтсве случаев нужен будет какой-нибудь питон.


      1. Lazhu
        26.08.2024 10:37

        Вы будете удивлены


      1. Antra
        26.08.2024 10:37

        Можно же из Excel подсасывать данные из баз данных. Т.е. большие массивы в БД, а все формулы и форматирование осталось в Excel. Хотя View я создавал как раз в БД, чтобы в Excel слишком много не тащить.

        Помнится, с MySQL Workbench совсем красиво было. Даже редактировалось прям в таблице, лишь бы primary key был


  1. Javian
    26.08.2024 10:37
    +3

    В 80-е годы компании покупали компьютеры, чтобы запустить электронные таблицы.

    CALC и MS Works

    НR: Как у вас обстоят дела с Ехсеl?
    Я: Я его ненавижу.
    НR: Понятно, то есть пользователь с опытом.


  1. isumix
    26.08.2024 10:37
    +2

    А почему libreoffice calc небыло в альтернативах?


    1. voldemar_d
      26.08.2024 10:37

      А чем он лучше Excel?


    1. actualinfo
      26.08.2024 10:37

      Libreoffice местами пытается догонять ексель, но сам по себе довольно глючный - где-то читал что сообщество кодеров, пофиксив условную тысячу багов, походу дела порождает полторы тысячи новых багов.

      Apache OpenOffice в этом плане намного стабильнее и надёжнее, но по функциональности наоборот - на порядок отстаёт.

      Китайский WPS Office довольно приятный, но слишком навязчиво предлагает платные премиум версии. И с вводом формул у него проблемы - всё склеивает в одну строку.

      А вот для совместной работы выбор невелик. В яндекс-диске онлайн бесплатно доступен платный импортозамещённый R7 Office (являющийся клоном Only Office, веб-аналога Libre Office), но он сильно уступает гугл-таблицам. Если же хочется независимости, то можно запустить на своём сервере например NextCloud, и уже в нем настроить совместную работу с документами Only Office. Но это конечно далеко не каждая домохозяйка справится.


  1. TriSSS91
    26.08.2024 10:37
    +4

    Очень уж многое притянуто за уши, в большинстве проблем виноват не Excel, а пользователи, не умеющие с ним работать. Ещё забавно про 20 или 77 тысяч строк, мол это много для Excel - ну так для этого есть Power Query и Power Pivot, там спокойно строится модель данных и ворочаются миллионы строк. Но это требует навыков и умений. В конце концов, из этого вырос Power BI.

    Насчёт глючности - тоже спорно, специально сейчас опросил коллег, по отделам, кто 80% времени с Excel (используется 2021 или 365 классический) работает - за последний год максимум пара сбоев на 2-3 десятка человек, да и те не критичные. Правда, тут в основном используются PQ и DAX + иногда классические формулы, но есть строгий запрет на макросы VBA (а, насколько помню, именно они раньше часто порождали сбои).

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


  1. Vytian
    26.08.2024 10:37

    А может честно напишем, что нету дешёвой замены? Вон, чуваки из Williams прямо сказали, что миграция на неназванную ERP была неимоверно дорогой и сложной. Ну да, потому что Excel на дюжину кладовщиков и трех с половиной менеджеров стоит копейки, за которые любой производитель "профессиональных" систем трекинга и закупок даже рекламный буклет не вышлет.


  1. entze
    26.08.2024 10:37

    Неожиданно обнаружил еще проблему. Excel продолжает развиваться, для домашнего пользователя с Office 365 возможностей будет больше, чем для корпората с 2016 или ранее. В итоге модные и удобные функции будут недоступны из-за несовместимости.


  1. fivlabor
    26.08.2024 10:37

    Похоже, что вся статья - это реклама AirTable

    Но в целом, дело не в Excel, а в менеджменте.

    Явно звоночки начинались раньше. Если работник завода придет и скажет: "уже 10 тыс строк и сложновато искать", то большинство менеджеров ничего не сделают - решат, что это некомпетентность работника, а вся система ещё много лет предержется, и вообще, "денег на это нет, раньше же как-то работало" и т.п..

    И когда это приведёт к проблемам, то менеджера уже не будет в том месте - на том месте их сменятся несколько штук, и ответственность никто не понесёт.

    Тоже самое с дискетами в метро Сан Франциско. Или фортраном в банках.


  1. alexhu
    26.08.2024 10:37
    +1

    Все оправдания в стиле - "это из за экселя" - это наивный детский лепет, рассчитанный на полнейших профанов.

    Excel - это чрезвычайно удобный инструмент и обслуживает большинство задач где рано звать программиста. И поэтому потери при конвертации csv to xls - не разу не вина екселя (будто ни разу не сохраняли на диск и всё было в оперативной памяти), всякие компании/команды - болиды загнать в sql с простой админкой - это дело на несколько часов и остальное в том же духе.


  1. migel11
    26.08.2024 10:37

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

    Переименовать гены вместо того, чтобы просто выставить текстовый формат ячейки?!


  1. Overphase
    26.08.2024 10:37

    Статья очень напоминает незабвенные научные анекдоты о вреде огурцов и об опасном веществе дигидрогена монооксиде.

    Естественно, чем больше установок Excel в мире, тем больше операторов и пользователей, которые допускают ошибки при пользовании им. На мой взгляд, для решения этой проблемы пора переходить на Fruit Mix Office. Насколько мне известно, электронные таблицы Fruit Mix Calc не приводят к ошибкам. Потому что его не существует