В 1982 году Microsoft запустила на рынок свой первый электронный табличный процессорMultiplan, который был очень популярен на CP/M системах, но на MS-DOS системах он уступал Lotus 1-2-3.
Первая версия Excel предназначалась для Mac и была выпущена в 1985 году, а первая версия для Windows была выпущена в ноябре 1987 года. Lotus не торопилась выпускать 1-2-3 под Windows, и Excel с 1988 года начала обходить по продажам 1-2-3, что в конечном итоге помогло Microsoft достичь позиций ведущего разработчика программного обеспечения. Microsoft укрепляла своё преимущество с выпуском каждой новой версии, что имело место примерно каждые два года.
Текущая версия для платформы Windows — Excel 19, также известная как Microsoft Office Excel 2019. Текущая версия для платформы macOS — Microsoft Excel 2019.
В начале своего пути Excel стал причиной иска о товарном знаке от другой компании, уже продававшей пакет программ под названием «Excel». В результате спора Microsoft была обязана использовать название «Microsoft Excel» во всех своих официальных пресс-релизах и юридических документах. Однако со временем эта практика была позабыта, и Microsoft окончательно устранила проблему, приобретя товарный знак другой программы. Microsoft также решила использовать буквы XL как сокращённое название программы: иконка Windows-программы состоит из стилизованного изображения этих двух букв, а расширение файлов по умолчанию в Excel — .xls.
В сравнении с первыми табличными процессорами Excel представляет множество новых функций пользовательского интерфейса, но суть остается прежней: как и в программе-родоначальнике, VisiCalc, организованные в строки и столбцы клетки-ячейки могут содержать данные или формулы с относительными или абсолютными ссылками на другие клетки.
Excel был первым табличным процессором, позволявшим пользователю менять внешний вид таблицы на экране: шрифты, символы и внешний вид ячеек. Он также первым представил метод умного пересчёта ячеек — обновления только ячеек, зависящих от изменённых ячеек: раньше табличные процессоры пересчитывали все ячейки; это делалось либо после каждого изменения (что на больших таблицах долго), либо по команде пользователя (что могло вводить пользователя в заблуждение не пересчитанными значениями).
Будучи впервые объединёнными в Microsoft Office в 1993 году, Microsoft Word и Microsoft PowerPoint получили новый графический интерфейс для соответствия Excel, главного стимула модернизации ПК в то время.
Функциональность VBA делала Excel легкой мишенью для макровирусов. И это было серьёзной проблемой до тех пор, пока антивирусные продукты не научились обнаруживать их. Фирма Microsoft, с опозданием приняв меры для уменьшения риска, добавила возможность выбора режима безопасности:
1993 год — Excel 5.0 (Office 4.2 и 4.3, также есть 32-битная версия только для Windows NT)
1995 год — Excel 7 для Windows 95 (включён в пакет Microsoft Office 95)
1997 год — Excel 97 (включён в пакет Microsoft Office 97)
1999 год — Excel 2000 (9) — Microsoft Office 2000
2001 год — Excel 2002 (10) — Microsoft Office XP
2003 год — Excel 2003 (11) — Microsoft Office 2003
2007 год — Excel 2007 (12) — Microsoft Office 2007
2010 год — Excel 2010 (14) — Microsoft Office 2010
2013 год — Excel 2013 (15) — Microsoft Office 2013
2015 год — Excel 2016 (16) — Microsoft Office 2016
2018 год — Excel 2019 (17) — Microsoft Office 2019
Замечание: Версия 1.0 не использовалась, чтобы избежать путаницы с продуктами Apple
Замечание: Excel 6.0 не существует, так как версия Windows 95 поставлялась с Word 7. Все программы Office 95 и Office 4.x использовали OLE 2.0 (автоматическая передача данных между различными программами), и Excel 7 должен был показывать, что он соответствует Word 7.
Замечание: Версия 13.0 была пропущена по причине трискаидекафобии. Excel 2010 имеет внутреннюю версию 14.0.
Версии Excel до 7.0 были ограничены в возможностях хранения данных, вмещая до 16 384 (214) строк. Версии 8.0—11.0 могли справиться с 65 536 (216) строк и 256 колонками (28). Версии 12.0 и 14.0 обрабатывают до 1 048 576 (220) строк и 16 384 (214) колонок[6].
В Microsoft Excel вплоть до 2003 версии включительно использовался свой собственный бинарный формат файлов (BIFF) в качестве основного[7]. Excel 2007 использует Microsoft Office Open XML в качестве своего основного формата.
Несмотря на то, что Excel 2007 поддерживает и направлен на использование новых XML-форматов в качестве основных, он по-прежнему совместим с традиционными бинарными форматами. Кроме того, большинство версий Microsoft Excel может читать CSV, DBF, SYLK, DIF и другие форматы.
Microsoft Excel 2007, наряду с другими продуктами Microsoft Office 2007, вводит множество новых форматов файлов. Они являются частью Office Open XML (OOXML) спецификации.
Стандартный формат рабочих книг Excel 2007. В действительности это сжатый ZIP-архив каталога XML-документов. Является заменой бывшего бинарного формата .xls, хотя и не поддерживает макросы по соображениям безопасности.
Рабочая книга Excel с макросами
.xlsm
Та же рабочая книга Excel, но с поддержкой макросов.
Бинарная рабочая книга Excel
.xlsb
Та же рабочая книга Excel с макросами, но хранящая информацию в бинарном формате, открывая документы быстрее, чем XML. В особенности часто используется для очень больших документов с десятками тысяч строк и/или сотнями колонок.
Шаблон Excel с макросами
.xltm
Шаблон, созданный как основа для рабочих книг, включена поддержка макросов. Заменяет старый формат .xlt.
Надстройка Excel
.xlam
Надстройка Excel, направленная на добавление дополнительных функциональных возможностей и инструментов.
API позволяет открывать таблицы Excel в ряде других приложений. Это включает в себя открытие документов Excel на веб-страницах с помощью ActiveX или таких плагинов, как Adobe Flash Player. Проект Apache POI представляет Java-библиотеки для чтения и записи электронных таблиц Excel. Также предпринимались попытки копировать таблицы Excel в веб-приложения с использованием разделённых запятыми значений (CSV).
Ценной возможностью Excel является возможность писать код на основе Visual Basic для приложений (VBA). Этот код пишется с использованием отдельного от таблиц редактора. Управление электронной таблицей осуществляется посредством объектно-ориентированной модели кода и данных. С помощью этого кода данные входных таблиц будут мгновенно обрабатываться и отображаться в таблицах и диаграммах (графиках). Таблица становится интерфейсом кода, позволяя легко работать, изменять его и управлять расчётами.
Все пароли, кроме пароля для открытия документа, можно удалить мгновенно, вне зависимости от версии Microsoft Excel, в которой был создан документ. Эти типы паролей в первую очередь служат для коллективной работы над документом. При их использовании документ не шифруется, а в документе сохраняется хеш от установленного пароля. Хотя при использовании пароля для защиты книги документ шифруется на известном пароле «VelvetSweatshop», это не добавляет документу дополнительной защиты. Единственным типом пароля, который может помешать злоумышленнику получить доступ к документу, является «пароль для открытия», но криптостойкость такой защиты сильно зависит от версии Microsoft Excel, в которой был создан документ.
В Microsoft Excel версии 95 и ранее «пароль на открытие» преобразовывается в 16-битный ключ, который взламывается мгновенно. В Microsoft Excel 97 / 2000 пароль преобразовывался уже в 40-битный ключ, который на современном оборудовании также может быть взломан очень быстро. К тому же программы для взлома паролей могут перебирать сотни тысяч паролей в секунду, что позволяет не только расшифровать документ, но и найти оригинальный пароль. В Microsoft Excel 2003 / XP ситуация немного улучшилась — пользователь может выбрать практический любой алгоритм шифрования, доступный в системе (CryptoServiceProvider). Но по умолчанию осталась все та же защита Microsoft Excel 97 / 2000[11]. Для пользователей, привыкшим доверять поведению программ по умолчанию, это означает отсутствие стойкой защиты на их документы.
Ситуация кардинально изменилась в Microsoft Excel 2007 — для шифрования стал использоваться современный алгоритм AES с ключом в 128 бит, а для получения ключа применяться 50000-кратное использование хеш-функции SHA1, что уменьшило скорость перебора до сотен паролей в секунду[12]. В Microsoft Excel стойкость защиты по умолчанию была увеличена ещё в 2 раза благодаря применению уже 100000-кратного SHA1-преобразования пароля в ключ. Вывод: на данный момент стойкую защиту обеспечивают только документы, сохраненные в формате Office 2007 / 2010 с установленным на них стойким «паролем на открытие».
Из-за того, что Excel работает на основе расчетов с плавающей запятой, статистическая точность Excel подвергается критике[13][14][15][16]. Сторонники Excel заявляют в ответ, что ошибки проявляются лишь в особых условиях специально подобранных исходных данных, которые затрагивают относительно небольшое число пользователей, и с низкой вероятностью могут встретиться на практике. Для версий 97, 2000, 2002 зафиксированы ошибки при выполнении функции MOD (деление с остатком) при определённых аргументах, где функция вместо результата возвращает ошибку #NUM![17].
В версиях Excel до 2016 включительно 1900 год ошибочно считался високосным[18][19]. Ошибка возникла в Lotus 1-2-3, была намеренно внесена в Excel для совместимости и поддерживалась для обратной совместимости[20][21].
Скриншот Microsoft Excel 2007, показывающий ошибку отображения 65535
22 сентября 2007 года было сообщено[22], что в определённых ситуациях Excel 2007 будет показывать неправильные результаты. В частности, для тех пар чисел, чьё произведение равно 65535 (например, 850 и 77,1), Excel отобразит в качестве итога 100000. Это происходит примерно с 14,5 % таких пар[23]. Кроме того, если к результату добавить единицу, Excel выведет итог 100001. Однако если из итога вычесть единицу, на дисплее отобразится правильный результат 65534 (также, если итог умножить или разделить на 2, будут отображены 131070 и 32767,5 соответственно).
Microsoft сообщила в блоге Microsoft Excel[24], что проблема существует в отображении шести конкретных значений с плавающей запятой между 65534,99999999995 и 65535 и шести значений между 65535,99999999995 и 65536 (не включая границ). Любые расчёты, результат которых равен одному из двенадцати значений, будут отображаться неправильно. Фактические данные, хранящиеся и передающиеся в другие ячейки, верны, неверно лишь отображение значения. Ошибка появилась в Excel 2007 и отсутствует в предыдущих версиях. 9 октября 2007 года Microsoft выпустила патч, исправляющий проблему[25]. Он вошёл и в состав исправлений Service Pack 1.
Данная ошибка не наблюдается в Microsoft Excel 2016.
Джон Уокенбах. Excel 2013: профессиональное программирование на VBA = Excel 2013 Power Programming with VBA. — М.: «Диалектика», 2014. — 960 с. — ISBN 978-5-8459-1877-2.
Грег Харвей. Microsoft Excel 2013 для чайников = Excel 2013 For Dummies. — М.: «Диалектика», 2013. — 368 с. — ISBN 978-5-8459-1855-0.