**Microsoft Excel** (можна сустрэць назву **Microsoft Office Excel**) — праграма для працы з электроннымі табліцамі, створаная карпарацыяй Microsoft для Microsoft Windows, Windows NT і Mac OS, а таксама Android, iOS і Windows Phone. Праграма дае магчымасці эканоміка-статыстычных разлікаў, графічныя прылады і, за выключэннем Excel 2008 пад Mac OS X, мову макрапраграмавання VBA (*Visual Basic for Application*). Microsoft Excel уваходзіць у склад Microsoft Office.

Гісторыя
--------

У 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, галоўнага стымулу мадэрнізацыі ПК у той час.

Пачынаючы з 1993 года, у склад Excel уваходзіць Visual Basic для дадаткаў (VBA), мова праграмавання, заснаваная на Visual Basic, якая дазваляе аўтаматызаваць задачы Excel. VBA з’яўляецца магутным дапаўненнем да дадатка і ў пазнейшых версіях Excel даступна поўнафункцыянальнае інтэграванае асяроддзе распрацоўкі. Можна стварыць VBA-код, які будзе паўтараць дзеянні карыстальніка і, такім чынам, аўтаматызаваць простыя задачы. VBA дазваляе ствараць формы для зносін з карыстальнікам. Мова падтрымлівае выкарыстанне (але не стварэнне) DLL ад ActiveX; пазнейшыя версіі дазваляюць выкарыстоўваць элементы аб’ектна-арыентаванага праграмавання.

Функцыянальнасць VBA рабіла Excel лёгкай мішэнню для макравірусаў. І гэта было сур’ёзнай праблемай да часу, пакуль антывірусныя прадукты не навучыліся выяўляць іх. Фірма Microsoft, са спазненнем прыняўшы меры для памяншэння рызыкі, дадала магчымасць выбару рэжыму бяспекі:

* цалкам адключыць макрасы
* уключыць макрасы пры адкрыцці дакумента
* давяраць усім макрасам, падпісаным з выкарыстаннем надзейных сертыфікатаў.

Версіі Excel ад 5.0 да 9.0 утрымліваюць розныя «велікодныя яйкі», хоць, пачынаючы з версіі 10 Microsoft пачала прымаць меры па іх ліквідацыі.

Версіі
------

### Версіі для Windows

* 1988 год — Excel 2.0 для Windows
* 1990 год — Excel 3.0
* 1992 год — Excel 4.0
* 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.

### Версіі для Macintosh

* 1985 год — Excel 1.0
* 1988 год — Excel 1.5
* 1989 год — Excel 2.2
* 1990 год — Excel 3.0
* 1992 год — Excel 4.0
* 1993 год — Excel 5.0
* 1998 год — Excel 8.0 (Office '98)
* 2000 год — Excel 9.0 (Office 2001)
* 2001 год — Excel 10.0 (Office v. X)
* 2004 год — Excel 11.0 (Office 2004)
* 2008 год — Excel 12.0(Office 2008)
* 2011 год — Excel 14.0 (Office 2011)
* 2015 год — Excel 15.0 (Office 2016)

### Версіі для OS/2

* 1989 год — Excel 2.2
* 1990 год — Excel 2.3
* 1991 год — Excel 3.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) калонак.

Фарматы файлаў
--------------

У Microsoft Excel аж да версіі 2003 (уключаючы) выкарыстоўваўся свой уласны бінарны фармат файлаў (BIFF) у якасці асноўнага. Excel 2007 выкарыстоўвае Microsoft Office Open XML у якасці свайго асноўнага фармату.

Нягледзячы на тое, што Excel 2007 падтрымлівае і накіраваны на выкарыстанне новых XML-фарматаў у якасці асноўных, ён па-ранейшаму сумяшчальны з традыцыйнымі бінарнымі фарматамі. Акрамя таго, большасць версій Microsoft Excel можа чытаць CSV, DBF, SYLK, DIF і іншыя фарматы.

### Office Open XML

Асноўны артыкул: **Office Open XML**
Microsoft Excel 2007, нароўні з іншымі прадуктамі Microsoft Office 2007, уводзіць мноства новых фарматаў файлаў. Яны з’яўляюцца часткай Office Open XML (OOXML) спецыфікацыі.

Новыя фарматы Excel 2007| Фармат | Пашырэнне | Нататкі |
| --- | --- | --- |
| Працоўная кніга Excel | .xlsx | Стандартны фармат працоўных кніг 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
---------------------------------

Абарона Microsoft Excel падае некалькі тыпаў розных пароляў:

* пароль для адкрыцця дакумента
* пароль для змены дакумента
* пароль для абароны ліста
* пароль для абароны кнігі
* пароль для абароны агульнай кнігі
* пароль для абароны кода VBA

Усе паролі, акрамя пароля для адкрыцця дакумента, можна выдаліць імгненна, па-за залежнасцю ад версіі Microsoft Excel, у якой быў створаны дакумент. Гэтыя тыпы пароляў у першую чаргу служаць для калектыўнай працы над дакументам. Пры іх выкарыстанні дакумент не шыфруецца, а ў дакуменце захоўваецца хэш ад усталяванага пароля. Хоць пры выкарыстанні пароля для абароны кнігі дакумент шыфруецца на вядомым паролі *«VelvetSweatshop»*, гэта не дадае дакументу дадатковай абароны. Адзіным тыпам пароля, які можа перашкодзіць зламысніку атрымаць доступ да дакумента, з’яўляецца *«пароль для адкрыцця»*, але крыптаўстойлівасць такой абароны моцна залежыць ад версіі Microsoft Excel, у якой быў створаны дакумент.

У Microsoft Excel версіі 95 і раней *«пароль на адкрыццё»* ператвараецца ў 16-бітны ключ, які ўзломваецца імгненна. У Microsoft Excel 97 / 2000 пароль ператвараўся ўжо ў 40-бітны ключ, які на сучасным абсталяванні таксама можа быць узламаны вельмі хутка. Да таго ж праграмы для ўзлому пароляў могуць перабіраць сотні тысяч пароляў у секунду, што дазваляе не толькі расшыфраваць дакумент, але і знайсці арыгінальны пароль. У Microsoft Excel 2003 / XP сітуацыя трохі палепшылася — карыстальнік можа абраць практычна любы алгарытм шыфравання, даступны ў сістэме (CryptoServiceProvider). Але па змоўчанні засталася ўсё тая ж абарона Microsoft Excel 97 / 2000. Для карыстальнікаў, якія звыкліся давяраць паводзінам праграм па змоўчанні, гэта азначае адсутнасць устойлівай абароны на іх дакументы.

Сітуацыя кардынальна змянілася ў Microsoft Excel 2007 — для шыфравання стаў выкарыстоўвацца сучасны алгарытм AES з ключом у 128 біт, а для атрымання ключа ўжывацца 50000-кратнае выкарыстанне хэш-функцыі SHA1, што паменшыла хуткасць перабору да сотняў пароляў у секунду. У Microsoft Excel устойлівасць абароны па змоўчанні была павялічана яшчэ ў 2 разы дзякуючы ўжыванню ўжо 100000-кратнага SHA1-пераўтварэння пароля ў ключ. Выснова: на дадзены момант устойлівую абарону забяспечваюць толькі дакументы, захаваныя ў фармаце Office 2007 / 2010 з усталяваным на іх устойлівым *«паролем на адкрыццё»*.

Крытыка
-------

З-за таго, што Excel працуе на аснове разлікаў з плывучай коскай, статыстычная дакладнасць Excel падвяргаецца крытыцы. Прыхільнікі Excel заяўляюць у адказ, што памылкі выяўляюцца толькі ў адмысловых умовах адмыслова падабраных зыходных дадзеных, якія закранаюць адносна невялікі лік карыстальнікаў, і з нізкай верагоднасцю могуць сустрэцца на практыцы. Для версій 97, 2000, 2002 зафіксаваны памылкі пры выкананні функцыі MOD (дзяленне з рэшткай) пры вызначаных аргументах, дзе функцыя замест выніку вяртае памылку #NUM!.

### Праблемы з датай

У версіях Excel да 2016 улучна 1900 год хібна лічыўся высакосным. Памылка паўстала ў Lotus 1-2-3, была наўмысна занесена ў Excel для сумяшчальнасці і падтрымлівалася для зваротнай сумяшчальнасці.

### Памылкі адлюстравання Excel

22 верасня 2007 года было паведамлена, што ў некаторых сітуацыях Excel 2007 будзе паказваць няправільныя вынікі. У прыватнасці, для тых пар лікаў, чыё множанне роўнае 65535 (напрыклад, 850 і 77,1), Excel адлюструе ў якасці выніку 100000. Гэта адбываецца прыкладна з 14,5 % такіх пар. Акрамя таго, калі да выніку дадаць адзінку, Excel выведзе вынік 100001. Аднак калі з выніку адняць адзінку, на дысплеі адлюструецца правільны вынік 65534 (таксама, калі вынік памножыць ці падзяліць на 2, будуць адлюстраваны 131070 і 32767,5 адпаведна).

Microsoft паведаміла ў блогу Microsoft Excel, што праблема існуе ў адлюстраванні шасці пэўных значэнняў з плывучай коскай паміж 65534,99999999995 і 65535 і шасці значэнняў паміж 65535,99999999995 і 65536 (не ўключаючы межаў). Любыя разлікі, вынік якіх роўны аднаму з дванаццаці значэнняў, будуць адлюстроўвацца няправільна. Фактычныя даныя, якія захоўваюцца і што перадаюцца ў іншыя ячэйкі, дакладныя, няслушна толькі адлюстраванне значэння. Памылка з’явілася ў Excel 2007 і адсутнічае ў папярэдніх версіях. 9 кастрычніка 2007 года Microsoft выпусціла патч, які выпраўляе праблему. Ён увайшоў і ў склад выпраўленняў Service Pack 1.

Дадзеная памылка не назіраецца ў Microsoft Excel 2016.

Зноскі
------

1. ↑  Агляд Microsoft Office Excel 2007 Архівавана 24 красавіка 2008 года.
2. ↑  Узрослыя магчымасці Excel 2007 **(нявызн.)**. Архівавана з першакрыніцы 30 жніўня 2008. Праверана 20 ліпеня 2008.
3. ↑  How to extract information from Office files by using Office file formats and schemas **(нявызн.)**. Архівавана з першакрыніцы 14 мая 2008. Праверана 20 ліпеня 2008.
4. ↑  Шыфраванне дакумента і заданне пароля для яго адкрыцця **(нявызн.)**. Архівавана з першакрыніцы 31 кастрычніка 2011. Праверана 29 кастрычніка 2011.
5. ↑  Заданне пароля для змены дакумента **(нявызн.)**. Архівавана з першакрыніцы 31 кастрычніка 2011. Праверана 29 кастрычніка 2011.
6. ↑  Абарона ліста ці кнігі паролем Архівавана 26 кастрычніка 2011 года.
7. ↑  Парольная абарона дакументаў Microsoft Office **(нявызн.)**. Архівавана з першакрыніцы 6 кастрычніка 2011. Праверана 29 кастрычніка 2011.
8. ↑  Office 2007: новы фармат і новая абарона **(нявызн.)**. Архівавана з першакрыніцы 6 кастрычніка 2011. Праверана 29 кастрычніка 2011.
9. ↑  Using Excel for Data Analysis **(нявызн.)**. Архівавана з першакрыніцы 16 мая 2008. Праверана 20 ліпеня 2008.
10. ↑  Reliability of Statistical Procedures in Excel Архівавана 11 мая 2008 года.
11. ↑  Архіваваная копія **(нявызн.)**(недаступная спасылка). Архівавана з першакрыніцы 19 мая 2007. Праверана 20 ліпеня 2008.
12. ↑  Faculty of Engineering and Computing **(нявызн.)**(недаступная спасылка). Архівавана з першакрыніцы 10 сакавіка 2013. Праверана 2 сакавіка 2013.
13. ↑  XL: () Function Returns #NUM! Error Value **(нявызн.)**. Архівавана з першакрыніцы 12 мая 2008. Праверана 20 ліпеня 2008.
14. ↑  Days of the week before March 1, 1900 are incorrect in Excel **(нявызн.)**. Архівавана з першакрыніцы 12 студзеня 2012. Праверана 20 ліпеня 2008.
15. ↑  Excel 2000 incorrectly assumes that the year 1900 is a leap year **(нявызн.)**. Архівавана з першакрыніцы 11 мая 2008. Праверана 20 ліпеня 2008.
16. ↑  My First BillG Review — Joel on Software **(нявызн.)**. Архівавана з першакрыніцы 7 чэрвеня 2008. Праверана 20 ліпеня 2008.
17. ↑  Matthew MacDonald. Excel 2007: the missing manual Архівавана 22 снежня 2014. O’Reilly, 2006. ISBN 0-596-52759-4
18. ↑  Bug in Excel 2007 — microsoft.public.excel | Google Groups **(нявызн.)**. Архівавана з першакрыніцы 5 кастрычніка 2007. Праверана 20 ліпеня 2008.
19. ↑  Excel 2007 паказвае няслушныя адказы ў простых вылічэннях VeroBlog
20. ↑  Абнаўленне вылічэнняў Архівавана 6 кастрычніка 2007 года. Блог каманды Microsoft Excel
21. ↑  Абнаўленне вылічэнняў (патч даступны) Архівавана 26 чэрвеня 2008 года. Блог каманды Microsoft Excel

Літаратура
----------

* *Джон Уокенбах.* 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.

Спасылкі
--------

* Афіцыйны сайт Microsoft Office
* Праца з файламі Excel з дапамогай .NET Framework (англ.)
* Спіс сайтаў MVP (англ.)