Showing posts with label WHO has developed the concept of table in Excel?. Show all posts
Showing posts with label WHO has developed the concept of table in Excel?. Show all posts

Friday, March 19, 2021

WHO has developed the concept of table in Excel?

Microsoft Excel is a spreadsheet developed by Microsoft for WindowsmacOSAndroid and iOS. It features calculation, graphing tools, pivot tables, and a macro programming language called Visual Basic for Applications (VBA). It has been a very widely applied spreadsheet for these platforms, especially since version 5 in 1993, and it has replaced Lotus 1-2-3 as the industry standard for spreadsheets. Excel forms part of the Microsoft Office suite of software.

Basic operation

Microsoft Excel has the basic features of all spreadsheets,[7] using a grid of cells arranged in numbered rows and letter-named columns to organize data manipulations like arithmetic operations. It has a battery of supplied functions to answer statistical, engineering, and financial needs. In addition, it can display data as line graphs, histograms and charts, and with a very limited three-dimensional graphical display. It allows sectioning of data to view its dependencies on various factors for different perspectives (using pivot tables and the scenario manager).[8][9] A PivotTable is a powerful tool that can save time when it comes to data analysis.[10] It does this by simplifying large data sets via PivotTable fields that are also known as "the building blocks of PivotTables."[11] 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,[12][13] and then reporting the results back to the spreadsheet. It also has a variety of interactive features allowing user interfaces that can completely hide the spreadsheet from the user, so the spreadsheet presents itself as a so-called application, or decision support system (DSS), via a custom-designed user interface, for example, a stock analyzer,[14] or in general, as a design tool that asks the user questions and provides answers and reports.[15][16] In a more elaborate realization, an Excel application can automatically poll external databases and measuring instruments using an update schedule,[17] 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. Excel was not designed to be used as a database.[citation needed]

Microsoft allows for a number of optional command-line switches to control the manner in which Excel starts.[18]

Functions

Excel 2016 has 484 functions.[19] Of these, 360 existed prior to Excel 2010. Microsoft classifies these functions in 14 categories. Of the 484 current functions, 386 may be called from VBA as methods of the object "WorksheetFunction"[20] and 44 have the same names as VBA functions.[21]

Macro programming

VBA programming

Use of a user-defined function sq(x) in Microsoft Excel. The named variables x & y are identified in the Name Manager. The function sq is introduced using the Visual Basic editor supplied with Excel.
Subroutine in Excel calculates the square of named column variable x read from the spreadsheet, and writes it into the named column variable y.

The Windows version of Excel supports programming through Microsoft's Visual Basic for Applications (VBA), which is a dialect of Visual Basic. Programming with VBA allows spreadsheet manipulation that is awkward or impossible with standard spreadsheet techniques. Programmers may write code directly using the Visual Basic Editor (VBE), which includes a window for writing code, debugging code, and code module organization environment. The user can implement numerical methods as well as automating tasks such as formatting or data organization in VBA[22] and guide the calculation using any desired intermediate results reported back to the spreadsheet.

VBA was removed from Mac Excel 2008, as the developers did not believe that a timely release would allow porting the VBA engine natively to Mac OS X. VBA was restored in the next version, Mac Excel 2011,[23] although the build lacks support for ActiveX objects, impacting some high level developer tools.[24]

A common and easy way to generate VBA code is by using the Macro Recorder.[25] The Macro Recorder records actions of the user and generates VBA code in the form of a macro. These actions can then be repeated automatically by running the macro. The macros can also be linked to different trigger types like keyboard shortcuts, a command button or a graphic. The actions in the macro can be executed from these trigger types or from the generic toolbar options. The VBA code of the macro can also be edited in the VBE. 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. Advanced users can employ user prompts to create an interactive program, or react to events such as sheets being loaded or changed.

Macro Recorded code may not be compatible with Excel versions. Some code that is used in Excel 2010 cannot be used in Excel 2003. Making a Macro that changes the cell colors and making changes to other aspects of cells may not be backward compatible.

VBA code interacts with the spreadsheet through the Excel Object Model,[26] a vocabulary identifying spreadsheet objects, and a set of supplied functions or methods that enable reading and writing to the spreadsheet and interaction with its users (for example, through custom toolbars or command bars and message boxes). User-created VBA subroutines execute these actions and operate like macros generated using the macro recorder, but are more flexible and efficient.

History

From its first version Excel supported end-user programming of macros (automation of repetitive tasks) and user-defined functions (extension of Excel's built-in function library). In early versions of Excel, these programs were written in a macro language whose statements had formula syntax and resided in the cells of special-purpose macro sheets (stored with file extension .XLM in Windows.) XLM was the default macro language for Excel through Excel 4.0.[27] Beginning with version 5.0 Excel recorded macros in VBA by default but with version 5.0 XLM recording was still allowed as an option. After version 5.0 that option was discontinued. All versions of Excel, including Excel 2010 are capable of running an XLM macro, though Microsoft discourages their use.[28]

Charts

Graph made using Microsoft Excel

Excel supports chartsgraphs, or histograms generated from specified groups of cells. It also supports Pivot Charts that allow for a chart to be linked directly to a Pivot table. This allows the chart to be refreshed with the Pivot Table.[29] The generated graphic component can either be embedded within the current sheet or added as a separate object.

These displays are dynamically updated if the content of cells changes. For example, suppose that the important design requirements are displayed visually; then, in response to a user's change in trial values for parameters, the curves describing the design change shape, and their points of intersection shift, assisting the selection of the best design.

Add-ins

Additional features are available using add-ins. Several are provided with Excel, including:

  • Analysis ToolPak: Provides data analysis tools for statistical and engineering analysis (includes analysis of variance and regression analysis)
  • Analysis ToolPak VBA: VBA functions for Analysis ToolPak
  • Euro Currency Tools: Conversion and formatting for euro currency
  • Solver Add-In: Tools for optimization and equation solving[30]

Excel for the web

Excel for the web is a free lightweight version of Microsoft Excel available as part of Office on the web, which also includes web versions of Microsoft Word and Microsoft PowerPoint.

Excel for the web can display most of the features available in the desktop versions of Excel, although it may not be able to insert or edit them. Certain data connections are not accessible on Excel for the web, including with charts that may use these external connections. Excel for the web also cannot display legacy features, such as Excel 4.0 macros or Excel 5.0 dialog sheets. There are also small differences between how some of the Excel functions work.[31]

Data storage and communication

Number of rows and columns

Versions of Excel up to 7.0 had a limitation in the size of their data sets of 16K (214 = 16384) rows. Versions 8.0 through 11.0 could handle 64K (216 = 65536) rows and 256 columns (28 as label 'IV'). Version 12.0 onwards, including the current Version 16.x, can handle over 1M (220 = 1048576) rows, and 16384 (214 as label 'XFD') columns.[32]

File formats

Excel Spreadsheet
Filename extension
.xls, (.xlsx, .xlsm, .xlsb - Excel 2007)
Internet media type
application/vnd.ms-excel
Uniform Type Identifier (UTI)com.microsoft.excel.xls
Developed byMicrosoft
Type of formatSpreadsheet

Microsoft Excel up until 2007 version used a proprietary binary file format called Excel Binary File Format (.XLS) as its primary format.[33] Excel 2007 uses Office Open XML as its primary file format, an XML-based format that followed after a previous XML-based format called "XML Spreadsheet" ("XMLSS"), first introduced in Excel 2002.[34]

Although supporting and encouraging the use of new XML-based formats as replacements, Excel 2007 remained backwards-compatible with the traditional, binary formats. In addition, most versions of Microsoft Excel can read CSVDBFSYLKDIF, and other legacy formats. Support for some older file formats was removed in Excel 2007.[35] The file formats were mainly from DOS-based programs.

Binary

OpenOffice.org has created documentation of the Excel format. Two epochs of the format exist: the 97-2003 OLE format, and the older stream format.[36] Microsoft has made the Excel binary format specification available to freely download.[37]

XML Spreadsheet

The XML Spreadsheet format introduced in Excel 2002[34] is a simple, XML based format missing some more advanced features like storage of VBA macros. Though the intended file extension for this format is .xml, the program also correctly handles XML files with .xls extension. 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. The following example will be correctly opened by Excel if saved either as Book1.xml or Book1.xls:

<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:o="urn:schemas-microsoft-com:office:office"
 xmlns:x="urn:schemas-microsoft-com:office:excel"
 xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
 xmlns:html="http://www.w3.org/TR/REC-html40">
 <Worksheet ss:Name="Sheet1">
  <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="2" x:FullColumns="1" x:FullRows="1">
   <Row>
    <Cell><Data ss:Type="String">Name</Data></Cell>
    <Cell><Data ss:Type="String">Example</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">Value</Data></Cell>
    <Cell><Data ss:Type="Number">123</Data></Cell>
   </Row>
  </Table>
 </Worksheet>
</Workbook>

Current file extensions

Microsoft Excel 2007, along with the other products in the Microsoft Office 2007 suite, introduced new file formats. The first of these (.xlsx) is defined in the Office Open XML (OOXML) specification.

Excel 2007 formats
FormatExtensionDescription
Excel Workbook.xlsxThe default Excel 2007 and later workbook format. In reality, a Zip compressed archive with a directory structure of XML text documents. Functions as the primary replacement for the former binary .xls format, although it does not support Excel macros for security reasons. Saving as .xlsx offers file size reduction over .xls[38]
Excel Macro-enabled Workbook.xlsmAs Excel Workbook, but with macro support.
Excel Binary Workbook.xlsbAs Excel Macro-enabled Workbook, but storing information in binary form rather than XML documents for opening and saving documents more quickly and efficiently. Intended especially for very large documents with tens of thousands of rows, and/or several hundreds of columns. This format is very useful for shrinking large Excel files as is often the case when doing data analysis.
Excel Macro-enabled Template.xltmA template document that forms a basis for actual workbooks, with macro support. The replacement for the old .xlt format.
Excel Add-in.xlamExcel add-in to add extra functionality and tools. Inherent macro support because of the file purpose.

Old file extensions

FormatExtensionDescription
Spreadsheet.xlsMain spreadsheet format which holds data in worksheets, charts, and macros
Add-in (VBA).xlaAdds custom functionality; written in VBA
Toolbar.xlbThe file extension where Microsoft Excel custom toolbar settings are stored.
Chart.xlcA chart created with data from a Microsoft Excel spreadsheet that only saves the chart. To save the chart and spreadsheet save as .XLS. XLC is not supported in Excel 2007 or in any newer versions of Excel.
Dialog.xldUsed in older versions of Excel.
Archive.xlkA backup of an Excel Spreadsheet
Add-in (DLL).xllAdds custom functionality; written in C++/CVisual BasicFortran, etc. and compiled in to a special dynamic-link library
Macro.xlmA macro is created by the user or pre-installed with Excel.
Template.xltA pre-formatted spreadsheet created by the user or by Microsoft Excel.
Module.xlvA module is written in VBA (Visual Basic for Applications) for Microsoft Excel
Library.DLLCode written in VBA may access functions in a DLL, typically this is used to access the Windows API
Workspace.xlwArrangement of the windows of multiple Workbooks

Using other Windows applications

Windows applications such as Microsoft Access and Microsoft Word, as well as Excel can communicate with each other and use each other's capabilities. The most common are Dynamic Data Exchange: although strongly deprecated by Microsoft, this is a common method to send data between applications running on Windows, with official MS publications referring to it as "the protocol from hell".[39] As the name suggests, it allows applications to supply data to others for calculation and display. It is very common in financial markets, being used to connect to important financial data services such as Bloomberg and Reuters.

OLE Object Linking and Embedding allows a Windows application to control another to enable it to format or calculate data. This may take on the form of "embedding" where an application uses another to handle a task that it is more suited to, for example a PowerPoint presentation may be embedded in an Excel spreadsheet or vice versa.[40][41][42][43]

Using external data

Excel users can access external data sources via Microsoft Office features such as (for example) .odc connections built with the Office Data Connection file format. Excel files themselves may be updated using a Microsoft supplied ODBC driver.

Excel can accept data in real-time through several programming interfaces, which allow it to communicate with many data sources such as Bloomberg and Reuters (through addins such as Power Plus Pro).

  • DDE: "Dynamic Data Exchange" uses the message passing mechanism in Windows to allow data to flow between Excel and other applications. Although it is easy for users to create such links, programming such links reliably is so difficult that Microsoft, the creators of the system, officially refer to it as "the protocol from hell".[39] In spite of its many issues DDE remains the most common way for data to reach traders in financial markets.
  • Network DDE Extended the protocol to allow spreadsheets on different computers to exchange data. Starting with Windows Vista, Microsoft no longer supports the facility.[44]
  • Real Time Data: RTD although in many ways technically superior to DDE, has been slow to gain acceptance, since it requires non-trivial programming skills, and when first released was neither adequately documented nor supported by the major data vendors.[45][46]

Alternatively, Microsoft Query provides ODBC-based browsing within Microsoft Excel.[47][48][49]

Export and migration of spreadsheets

Programmers have produced APIs to open Excel spreadsheets in a variety of applications and environments other than Microsoft Excel. These include opening Excel documents on the web using either ActiveX controls, or plugins like the Adobe Flash Player. The Apache POI opensource project provides Java libraries for reading and writing Excel spreadsheet files. ExcelPackage is another open-source project that provides server-side generation of Microsoft Excel 2007 spreadsheets. PHPExcel is a PHP library that converts Excel5, Excel 2003, and Excel 2007 formats into objects for reading and writing within a web application. Excel Services is a current .NET developer tool that can enhance Excel's capabilities. Excel spreadsheets can be accessed from Python with xlrd and openpyxljs-xlsx and js-xls can open Excel spreadsheets from JavaScript.

Password protection

Microsoft Excel protection offers several types of passwords:

  • Password to open a document[50]
  • Password to modify a document[51]
  • Password to unprotect the worksheet
  • Password to protect workbook
  • Password to protect the sharing workbook[52]

All passwords except password to open a document can be removed instantly regardless of the Microsoft Excel version used to create the document. These types of passwords are used primarily for shared work on a document. Such password-protected documents are not encrypted, and a data sources from a set password is saved in a document's headerPassword to protect workbook is an exception – when it is set, a document is encrypted with the standard password “VelvetSweatshop”, but since it is known to the public, it actually does not add any extra protection to the document. The only type of password that can prevent a trespasser from gaining access to a document is password to open a document. 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. In Excel 97/2000 the password is converted to a 40-bit key, which can also be cracked very quickly using modern equipment. As regards services that use rainbow tables (e.g. Password-Find), it takes up to several seconds to remove protection. In addition, password-cracking programs can brute-force attack passwords at a rate of hundreds of thousands of passwords a second, which not only lets them decrypt a document but also find the original password.

In Excel 2003/XP the encryption is slightly better – a user can choose any encryption algorithm that is available in the system (see Cryptographic Service Provider). Due to the CSP, an Excel file can't be decrypted, and thus the password to open can't be removed, though the brute-force attack speed remains quite high. Nevertheless, the older Excel 97/2000 algorithm is set by the default. Therefore, users who do not change the default settings lack reliable protection of their documents.

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.

Microsoft Excel Viewer

Microsoft Excel Viewer was a freeware program for Microsoft Windows for viewing and printing spreadsheet documents created by Excel.[53] Microsoft retired the viewer in April 2018 with the last security update released in February 2019 for Excel Viewer 2007 (SP3).[54][55]

The first version released by Microsoft was Excel 97 Viewer.[56][57] Excel 97 Viewer was supported in Windows CE for Handheld PCs.[58] In October 2004, Microsoft released Excel Viewer 2003.[59] In September 2007, Microsoft released Excel Viewer 2003 Service Pack 3 (SP3).[60] In January 2008, Microsoft released Excel Viewer 2007.[61] In April 2009, Microsoft released Excel Viewer 2007 Service Pack 2 (SP2).[62] In October 2011, Microsoft released Excel Viewer 2007 Service Pack 3 (SP3).[63]

Microsoft advises to view and print Excel files for free to use the Excel Mobile application for Windows 10 and for Windows 7 and Windows 8 to upload the file to OneDrive and use Excel for the web with a Microsoft account to open them in a browser.[54][64]

Quirks

In addition to issues with spreadsheets in general, other problems specific to Excel include numeric precision, misleading statistics functions, mod function errors, date limitations and more.

Numeric precision

Excel maintains 15 figures in its numbers, but they are not always accurate: the bottom line should be the same as the top line.

Despite the use of 15-figure precision, Excel can display many more figures (up to thirty) upon user request. But the displayed figures are not those actually used in its computations, and so, for example, the difference of two numbers may differ from the difference of their displayed values. Although such departures are usually beyond the 15th decimal, exceptions do occur, especially for very large or very small numbers. Serious errors can occur if decisions are made based upon automated comparisons of numbers (for example, using the Excel If function), as equality of two numbers can be unpredictable.[citation needed]

In the figure, the fraction 1/9000 is displayed in Excel. Although this number has a decimal representation that is an infinite string of ones, Excel displays only the leading 15 figures. In the second line, the number one is added to the fraction, and again Excel displays only 15 figures. In the third line, one is subtracted from the sum using Excel. Because the sum in the second line has only eleven 1's after the decimal, the difference when 1 is subtracted from this displayed value is three 0's followed by a string of eleven 1's. However, the difference reported by Excel in the third line is three 0's followed by a string of thirteen 1's and two extra erroneous digits. This is because Excel calculates with about half a digit more than it displays.

Excel works with a modified 1985 version of the IEEE 754 specification.[65] 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. See the main article for details.

Besides accuracy in user computations, the question of accuracy in Excel-provided functions may be raised. Particularly in the arena of statistical functions, Excel has been criticized for sacrificing accuracy for speed of calculation.[66][67]

As many calculations in Excel are executed using VBA, an additional issue is the accuracy of VBA, which varies with variable type and user-requested precision.[68]

Statistical functions

The accuracy and convenience of statistical tools in Excel has been criticized,[69][70][71][72][73] as mishandling missing data, 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. Microsoft has announced some of these issues are addressed in Excel 2010.[74]

Excel MOD function error

Excel has issues with modulo operations. In the case of excessively large results, Excel will return the error warning #NUM! instead of an answer.[75]

Fictional leap day in the year 1900

Excel includes February 29, 1900, incorrectly treating 1900 as a leap year, even though e.g. 2100 is correctly treated as a non-leap year.[76][77] The bug originated from Lotus 1-2-3 (deliberately implemented to save computer memory), and was also purposely implemented in Excel, for the purpose of bug compatibility.[78] This legacy has later been carried over into Office Open XML file format.[79]

Thus a (not necessarily whole) number greater than or equal to 61 interpreted as a date and time are the (real) number of days after December 30, 1899, 0:00, a non-negative number less than 60 is the number of days after December 31, 1899, 0:00, and numbers with whole part 60 represent the fictional day.

Date range

Excel supports dates with years in the range 1900–9999, except that December 31, 1899, can be entered as 0 and is displayed as 0-jan-1900.

Converting a fraction of a day into hours, minutes and days by treating it as a moment on the day January 1, 1900, does not work for a negative fraction.[80]

Conversion problems

Entering text that happens to be in a form that is interpreted as a date, the text can be unintentionally changed to a standard date format. A similar problem occurs when a text happens to be in the form of a floating-point notation of a number. In these cases the original exact text cannot be recovered from the result. Formatting the cell as TEXT before entering ambiguous text prevents Excel from converting to a date.

This issue has caused a well known problem in the analysis of DNA, for example in bioinformatics. As first reported in 2004,[81] genetic scientists found that Excel automatically and incorrectly converts certain gene names into dates. A follow-up study in 2016 found many peer reviewed scientific journal papers had been affected and that "Of the selected journals, the proportion of published articles with Excel files containing gene lists that are affected by gene name errors is 19.6 %."[82] Excel parses the copied and pasted data and sometimes changes them depending on what it thinks they are. For example, MARCH1 (Membrane Associated Ring-CH-type finger 1) gets converted to the date March 1 (1-Mar) and SEPT2 (Septin 2) is converted into September 2 (2-Sep) etc.[83] While some secondary news sources[84] reported this as a fault with Excel, the original authors of the 2016 paper placed the blame with the researchers misusing Excel.[82][85]

In August 2020 the HUGO Gene Nomenclature Committee (HGNC) published new guidelines in the journal Nature regarding gene naming in order to avoid issues with "symbols that affect data handling and retrieval." So far 27 genes have been renamed, including changing MARCH1 to MARCHF1 and SEPT1 to SEPTIN1 in order to avoid accidental conversion of the gene names into dates.[86]

Errors with large strings

The following functions return incorrect results when passed a string longer than 255 characters:[87]

  • type() incorrectly returns 16, meaning "Error value"
  • IsText(), when called as a method of the VBA object WorksheetFunction (i.e., WorksheetFunction.IsText() in VBA), incorrectly returns "false".

Filenames

Microsoft Excel will not open two documents with the same name and instead will display the following error:

A document with the name '%s' is already open. You cannot open two documents with the same name, even if the documents are in different folders. To open the second document, either close the document that is currently open, or rename one of the documents.[88]

The reason is for calculation ambiguity with linked cells. If there is a cell ='[Book1.xlsx]Sheet1'!$G$33, and there are two books named "Book1" open, there is no way to tell which one the user means.[89]

Versions

Early history

Microsoft originally marketed a spreadsheet program called Multiplan in 1982. Multiplan became very popular on CP/M systems, but on MS-DOS systems it lost popularity to Lotus 1-2-3. Microsoft released the first version of Excel for the Macintosh on September 30, 1985, and the first Windows version was 2.05 (to synchronize with the Macintosh version 2.2) in November 1987.[90] 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. This accomplishment solidified Microsoft as a valid competitor and showed its future of developing GUI software. Microsoft maintained its advantage with regular new releases, every two years or so.

Microsoft Windows

Excel 2.0 is the first version of Excel for the Intel platform. Versions prior to 2.0 were only available on the Apple Macintosh.

Excel 2.0 (1987)

The first Windows version was labeled "2" to correspond to the Mac version. This included a run-time version of Windows.[91]

BYTE in 1989 listed Excel for Windows as among the "Distinction" winners of the BYTE Awards. The magazine stated that the port of the "extraordinary" Macintosh version "shines", with a user interface as good as or better than the original.

Excel 3.0 (1990)

Included toolbars, drawing capabilities, outlining, add-in support, 3D charts, and many more new features.[91]

Excel 4.0 (1992)

Introduced auto-fill.[92]

Also, an easter egg in Excel 4.0 reveals a hidden animation of a dancing set of numbers 1 through 3, representing Lotus 1-2-3, which is then crushed by an Excel logo.[93]

Excel 5.0 (1993)

With version 5.0, Excel has 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. VBA is a powerful addition to the application and includes a fully featured integrated development environment (IDE). Macro recording can produce VBA code replicating user actions, thus allowing simple automation of regular tasks. VBA allows the creation of forms and in‑worksheet controls to communicate with the user. The language supports use (but not creation) of ActiveX (COMDLL's; later versions add support for class modules allowing the use of basic object-oriented programming techniques.

The automation functionality provided by VBA made Excel a target for macro viruses. This caused serious problems until antivirus products began to detect these viruses. Microsoft belatedly took steps to prevent the misuse by adding the ability to disable macros completely, to enable macros when opening a workbook or to trust all macros signed using a trusted certificate.

Versions 5.0 to 9.0 of Excel contain various Easter eggs, including a "Hall of Tortured Souls", a Doom-like minigame, although since version 10 Microsoft has taken measures to eliminate such undocumented features from their products.[94]

5.0 was released in a 16-bit x86 version for Windows 3.1 and later in a 32-bit version for NT 3.51 (x86/Alpha/PowerPC)

Excel 95 (v7.0)

Microsoft Excel 95

Released in 1995 with Microsoft Office for Windows 95, this is the first major version after Excel 5.0, as there is no Excel 6.0 with all of the Office applications standardizing on the same major version number.

Internal rewrite to 32-bits. Almost no external changes, but faster and more stable.

Excel 97 (v8.0)

Included in Office 97 (for x86 and Alpha). This was a major upgrade that introduced the paper clip office assistant and featured standard VBA used instead of internal Excel Basic. It introduced the now-removed Natural Language labels.

This version of Excel includes a flight simulator as an Easter Egg.

Excel 2000 (v9.0)

Microsoft Excel 2000

Included in Office 2000. This was a minor upgrade but introduced an upgrade to the clipboard where it can hold multiple objects at once. The Office Assistant, whose frequent unsolicited appearance in Excel 97 had annoyed many users, became less intrusive.

Excel 2002 (v10.0)

Included in Office XP. Very minor enhancements.

Excel 2003 (v11.0)

Included in Office 2003. Minor enhancements, the most significant being the new Tables.

Excel 2007 (v12.0)

Microsoft Excel 2007

Included in Office 2007. This release was a major upgrade from the previous version. Similar to other updated Office products, Excel in 2007 used the new Ribbon menu system. This was different from what users were used to, and was met with mixed reactions. One study reported fairly good acceptance by users except highly experienced users and users of word processing applications with a classical WIMP interface, but was less convinced in terms of efficiency and organization.[95] However, an online survey reported that a majority of respondents had a negative opinion of the change, with advanced users being "somewhat more negative" than intermediate users, and users reporting a self-estimated reduction in productivity.

Added functionality included the SmartArt set of editable business diagrams. Also added was an improved management of named variables through the Name Manager, and much-improved flexibility in formatting graphs, which allow (x, y) coordinate labeling and lines of arbitrary weight. Several improvements to pivot tables were introduced.

Also like other office products, the Office Open XML file formats were introduced, including .xlsm for a workbook with macros and .xlsx for a workbook without macros.[96]

Specifically, many of the size limitations of previous versions were greatly increased. To illustrate, the number of rows was now 1,048,576 (220) and columns was 16,384 (214; the far-right column is XFD). This changes what is a valid A1 reference versus a named range. This version made more extensive use of multiple cores for the calculation of spreadsheets; however, VBA macros are not handled in parallel and XLL add‑ins were only executed in parallel if they were thread-safe and this was indicated at registration.

Excel 2010 (v14.0)

Microsoft Excel 2010 running on Windows 7

Included in Office 2010, this is the next major version after v12.0, as version number 13 was skipped.

Minor enhancements and 64-bit support,[97] including the following:

  • Multi-threading recalculation (MTR) for commonly used functions
  • Improved pivot tables
  • More conditional formatting options
  • Additional image editing capabilities
  • In-cell charts called sparklines
  • Ability to preview before pasting
  • Office 2010 backstage feature for document-related tasks
  • Ability to customize the Ribbon
  • Many new formulas, most highly specialized to improve accuracy[98]

Excel 2013 (v15.0)

Included in Office 2013, along with a lot of new tools included in this release:

Excel 2016 (v16.0)

Included in Office 2016, along with a lot of new tools included in this release:

  • Power Query integration
  • Read-only mode for Excel
  • Keyboard access for Pivot Tables and Slicers in Excel
  • New Chart Types
  • Quick data linking in Visio
  • Excel forecasting functions
  • Support for multi-selection of Slicer items using touch
  • Time grouping and Pivot Chart Drill Down
  • Excel data cards[104]

Excel 2019, Office 365 and subsequent (v16.0)

Microsoft no longer releases Office or Excel in discrete versions. Instead, features are introduced automatically over time using Windows Update. The version number remains 16.0. Thereafter only the approximate dates when features appear can now be given.

  • Dynamic Arrays. These are essentially Array Formulas but they "Spill" automatically into neighboring cells and does not need the ctrl-shift-enter to create them. Further, dynamic arrays are the default format, with new "@" and "#" operators to provide compatibility with previous versions. This is perhaps the biggest structural change since 2007, and is in response to a similar feature in Google Sheets. Dynamic arrays started appearing in pre-releases about 2018, and as of March 2020 are available in published versions of Office 365 provided a user selected "Office Insiders".

Apple Macintosh

Microsoft Excel for Mac 2011
  • 1985 Excel 1.0
  • 1988 Excel 1.5
  • 1989 Excel 2.2
  • 1990 Excel 3.0
  • 1992 Excel 4.0
  • 1993 Excel 5.0 (part of Office 4.x—Final Motorola 680x0 version[105] and first PowerPC version)
  • 1998 Excel 8.0 (part of Office 98)
  • 2000 Excel 9.0 (part of Office 2001)
  • 2001 Excel 10.0 (part of Office v. X)
  • 2004 Excel 11.0 (part of Office 2004)
  • 2008 Excel 12.0 (part of Office 2008)
  • 2010 Excel 14.0 (part of Office 2011)
  • 2015 Excel 15.0 (part of Office 2016—Office 2016 for Mac brings the Mac version much closer to parity with its Windows cousin, harmonizing many of the reporting and high-level developer functions, while bringing the ribbon and styling into line with its PC counterpart.)[106]

OS/2

  • 1989 Excel 2.2
  • 1990 Excel 2.3
  • 1991 Excel 3.0

Mobile

Excel Mobile is a spreadsheet program that can edit XLSX files. It can edit and format text in cells, calculate formulas, search within the spreadsheet, sort rows and columns, freeze panes, filter the columns, add comments, and create charts. It can't add columns or rows except at the edge of the document, rearrange columns or rows, delete rows or columns, or add spreadsheet tabs.[107][108][109][110][111][112] 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.[110] Protection settings, zoom settings, autofilter settings, certain chart formatting, hidden sheets, and other features are not supported on Excel Mobile, and will be modified upon opening and saving a workbook.[111] In 2015, Excel Mobile became available for Windows 10 and Windows 10 Mobile on Windows Store.[113][114]

Summary

Legend:Old version, not maintainedOlder version, still maintainedCurrent stable version
Microsoft Excel for Windows release history
YearNameVersionComments
1987Excel 22.0Renumbered to 2 to correspond with contemporary Macintosh version. Supported macros (later known as Excel 4 macros).
1990Excel 33.0Added 3D graphing capabilities
1992Excel 44.0Introduced auto-fill feature
1993Excel 55.0Included Visual Basic for Applications (VBA) and various object-oriented options
1995Excel 957.0Renumbered for contemporary Word version. Both programs were packaged in Microsoft Office by this time.
1997Excel 978.0
2000Excel 20009.0Part of Microsoft Office 2000, which was itself part of Windows Millennium (also known as "Windows ME").
2002Excel 200210.0
2003Excel 200311.0Released only 1 year later to correspond better with the rest of Microsoft Office (Word, PowerPoint, etc.).
2007Excel 200712.0
2010Excel 201014.0Due to superstitions surrounding the number 13, Excel 13 was skipped in version counting.
2013Excel 201315.0Introduced 50 more mathematical functions (available as pre-packaged commands, rather than typing the formula manually).
imported from Wikipedia