It features calculation or computation capabilities, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications (VBA).
Microsoft Excel has the basic features of all spreadsheets,[11] using a grid of cells arranged in numbered rows and letter-named columns to organize data manipulations like arithmetic operations.
It allows sectioning of data to view its dependencies on various factors for different perspectives (using pivot tables and the scenario manager).
It has a programming aspect, Visual Basic for Applications, allowing the user to employ a wide variety of numerical methods, for example, for solving differential equations of mathematical physics,[13][14] and then reporting the results back to the spreadsheet.
[16][17] In a more elaborate realization, an Excel application can automatically poll external databases and measuring instruments using an update schedule,[18] analyze the results, make a Word report or PowerPoint slide show, and e-mail these presentations on a regular basis to a list of participants.
The user can implement numerical methods as well as automating tasks such as formatting or data organization in VBA[24] and guide the calculation using any desired intermediate results reported back to the spreadsheet.
The macros can also be linked to different trigger types like keyboard shortcuts, a command button or a graphic.
Certain features such as loop functions and screen prompt by their own properties, and some graphical display items, cannot be recorded but must be entered into the VBA module directly by the programmer.
In addition, most versions of Microsoft Excel can read CSV, DBF, SYLK, DIF, and other legacy formats.
This feature is widely used by third-party applications (e.g. MySQL Query Browser) to offer "export to Excel" capabilities without implementing binary file format.
OLE Object Linking and Embedding allows a Windows application to control another to enable it to format or calculate data.
These include opening Excel documents on the web using either ActiveX controls, or plugins like the Adobe Flash Player.
The Apache POI open-source project provides Java libraries for reading and writing Excel spreadsheet files.
The cryptographic strength of this kind of protection depends strongly on the Microsoft Excel version that was used to create the document.
In Microsoft Excel 95 and earlier versions, the password to open is converted to a 16-bit key that can be instantly cracked.
Due to the CSP, an Excel file cannot be decrypted, and thus the password to open cannot be removed, though the brute-force attack speed remains quite high.
The situation changed fundamentally in Excel 2007, where the modern AES algorithm with a key of 128 bits started being used for decryption, and a 50,000-fold use of the hash function SHA1 reduced the speed of brute-force attacks down to hundreds of passwords per second.
In Excel 2010, the strength of the protection by the default was increased two times due to the use of a 100,000-fold SHA1 to convert a password to a key.
[54][55][56][57][58][59] The 2007 version has the ability to use a full-screen mode to deal with limited screen resolution, as well as split panes to view different parts of a worksheet at one time.
[75] Excel's implementation involves conversions between binary and decimal representations, leading to accuracy that is on average better than one would expect from simple fifteen digit precision, but that can be worse.
[78] The accuracy and convenience of statistical tools in Excel has been criticized,[79][80][81][82][83] as mishandling situations when data is missing, as returning incorrect values due to inept handling of round-off and large numbers, as only selectively updating calculations on a spreadsheet when some cell values are changed, and as having a limited set of statistical tools.
As first reported in 2004,[91] genetic scientists found that Excel automatically and incorrectly converts certain gene names into dates.
[97] The following functions return incorrect results when passed a string longer than 255 characters:[98] Microsoft Excel will not open two documents with the same name and instead will display the following error: The reason is for calculation ambiguity with linked cells.
[101][102] Lotus was slow to bring 1-2-3 to Windows and by the early 1990s, Excel had started to outsell 1-2-3 and helped Microsoft achieve its position as a leading PC software developer.
The magazine stated that the port of the "extraordinary" Macintosh version "shines", with a user interface as good as or better than the original.
[106] With version 5.0, included in Microsoft Office 4.2 and 4.3, Excel included Visual Basic for Applications (VBA), a programming language based on Visual Basic which adds the ability to automate tasks in Excel and to provide user-defined functions (UDF) for use in worksheets.
Macro recording can produce VBA code replicating user actions, thus allowing simple automation of regular tasks.
Excel 95 contained a hidden Doom-like mini-game called "The Hall of Tortured Souls", a series of rooms featuring the names and faces of the developers as an Easter egg.
This was a major upgrade that introduced the paper clip office assistant and featured standard VBA used instead of internal Excel Basic.
[126][127] Besides the easter eggs, numerous games have been created or recreated in Excel, such as Tetris, 2048, Scrabble, Yahtzee, Angry Birds, Pac-Man, Civilization, Monopoly, Battleship, Blackjack, Space Invaders, and others.