Microsoft Excel Is A: o o o o o o o o o

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Microsoft Excel is a spreadsheet developed by Microsoft for Windows, macOS,

Android and iOS. It features calculation, graphing tools, pivot tables, and a macro
programming language called Visual Basic for Applications. 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
Microsoft Office.

Contents
[hide]

 1 Features
o 1.1 Basic operation
o 1.2 Macro programming
 1.2.1 VBA programming
 1.2.2 History
o 1.3 Charts
 2 Data storage and communication
o 2.1 Number of rows and columns
o 2.2 File formats
 2.2.1 Binary
 2.2.2 XML Spreadsheet
 2.2.3 Current file extensions
 2.2.4 Old file extensions
o 2.3 Using other Windows applications
o 2.4 Using external data
o 2.5 Export and migration of spreadsheets
o 2.6 Password protection
 3 Microsoft Excel Viewer
 4 Quirks
o 4.1 Statistical functions
o 4.2 Excel MOD function error
o 4.3 Fictional leap day in the year 1900
o 4.4 Date range
o 4.5 Conversion problems
o 4.6 Filenames
o 4.7 Numeric precision
o 4.8 Content type auto-detection
 5 Versions
o 5.1 Early history
o 5.2 Microsoft Windows
 5.2.1 Excel 2.0 (1987)
 5.2.2 Excel 3.0 (1990)
 5.2.3 Excel 4.0 (1992)
 5.2.4 Excel 5.0 (1993)
 5.2.5 Excel 95 (v7.0)
 5.2.6 Excel 97 (v8.0)
 5.2.7 Excel 2000 (v9.0)
 5.2.8 Excel 2002 (v10.0)
 5.2.9 Excel 2003 (v11.0)
 5.2.10 Excel 2007 (v12.0)
 5.2.11 Excel 2010 (v14.0)
 5.2.12 Excel 2013 (v15.0)
 5.2.13 Excel 2016 (v16.0)
o 5.3 Apple Macintosh
o 5.4 OS/2
o 5.5 Summary
 6 Impact
 7 Security
 8 See also
 9 References
 10 General references
 11 External links

Features
Basic operation

Main article: Spreadsheet

Microsoft Excel has the basic features of all spreadsheets,[4] 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).[5] 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,[6][7] 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,[8] or in general, as a design tool that asks the user questions and provides
answers and reports.[9][10][11] In a more elaborate realization, an Excel application can
automatically poll external databases and measuring instruments using an update
schedule,[12] 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.[13]
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.

Graph made using Microsoft Excel

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

Macro programming

VBA programming

Main article: Visual Basic for Applications


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[15] 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,[16] although the build lacks support for
ActiveX objects, impacting some high level developer tools.[17]

A common and easy way to generate VBA code is by using the Macro Recorder.[18] 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 prompts 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 between Excel versions. Some code that
is used in Excel 2010 can not 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,[19] 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.[20] 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.[21]
Charts

Excel supports charts, graphs, or histograms generated from specified groups of cells.
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 change. 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.

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 can handle 1M (220 = 1048576) rows, and 16384
(214 as label 'XFD') columns.[22]

File formats

Excel Spreadsheet

Filename extension .xls, (.xlsx, .xlsm,


.xlsb - Excel 2007)

Internet media type application/vnd.ms-excel

Uniform Type com.microsoft.excel.xls[23]


Identifier (UTI)

Developed by Microsoft

Type of format Spreadsheet

Microsoft Excel up until 2007 version used a proprietary binary file format called Excel
Binary File Format (.XLS) as its primary format.[24] 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.[25]

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 CSV, DBF, SYLK,
DIF, and other legacy formats. Support for some older file formats was removed in
Excel 2007.[26] The file formats were mainly from DOS-based programs.

Binary

OpenOffice.org has created documentation of the Excel format.[27] Since then Microsoft
made the Excel binary format specification available to freely download.[28]

XML Spreadsheet

Main article: Microsoft Office XML formats

The XML Spreadsheet format introduced in Excel 2002[25] 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

Main article: Office Open XML

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.

New Excel 2007 formats


Format Extension Description
Excel .xlsx
The default Excel 2007 and later workbook format. In reality
Workbook 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.
Excel Macro-
enabled .xlsm As Excel Workbook, but with macro support.
Workbook
As Excel Macro-enabled Workbook, but storing information
in binary form rather than XML documents for opening and
Excel Binary .xlsb
saving documents more quickly and efficiently. Intended
Workbook
especially for very large documents with tens of thousands
of rows, and/or several hundreds of columns.
Excel Macro- A template document that forms a basis for actual
enabled .xltm workbooks, with macro support. The replacement for the old
Template .xlt format.
Excel add-in to add extra functionality and tools. Inherent
Excel Add-in .xlam
macro support because of the file purpose.

Old file extensions

Format Extension Description


Main spreadsheet format which holds data in worksheets,
Spreadsheet .xls
charts, and macros
Add-in .xla Adds custom functionality; written in VBA
(VBA)
.xlb
The file extension where Microsoft Excel custom toolbar
Toolbar
settings are stored.
A chart created with data from a Microsoft Excel spreadsheet
.xlc
that only saves the chart. To save the chart and spreadsheet
Chart
save as .XLS. XLC is not supported in Excel 2007 or in any
newer versions of Excel.
Dialog .xld Used in older versions of Excel.
Archive .xlk A backup of an Excel Spreadsheet
Add-in .xll
Adds custom functionality; written in C++/C, Visual Basic,
(DLL) Fortran, etc. and compiled in to a special dynamic-link library
Macro .xlm A macro is created by the user or pre-installed with Excel.
.xlt
A pre-formatted spreadsheet created by the user or by
Template
Microsoft Excel.
.xlv
A module is written in VBA (Visual Basic for Applications)
Module
for Microsoft Excel
.DLL
Code written in VBA may access functions in a DLL,
Library
typically this is used to access the Windows API
Workspace .xlw Arrangement 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".[29] 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.[30][31][32][33]

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".[29] 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.[34]
 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.[35][36]

Alternatively, Microsoft Query provides ODBC-based browsing within Microsoft


Excel.[37][38][39]

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 openpyxl. js-xlsx and js-xls can open Excel spreadsheets
from JS.

Password protection

Main article: Microsoft Office password protection

Microsoft Excel protection offers several types of passwords:

 Password to open a document [40]


 Password to modify a document [41]
 Password to unprotect worksheet
 Password to protect workbook
 Password to protect the sharing workbook [42]

All passwords except password to open a document can be removed instantly regardless
of 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 header.
Password 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 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, 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 which 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.[43] Therefore, users who did not
changed 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 is a freeware program for viewing and printing spreadsheet
documents created by Excel.[44] Excel Viewer is similar to Microsoft Word Viewer in
functionality. (There is not a current version for the Mac.) Excel Viewer is available for
Microsoft Windows and Windows CE handheld PCs, such as the NEC MobilePro.[45] It
is also possible to open excel files using certain online tools and services. Online excel
viewers do not require users to have Microsoft Excel installed.[44]

Quirks
Further information: Spreadsheet § Shortcomings

Other errors specific to Excel include misleading statistics functions, mod function
errors, date limitations and the Excel 2007 error.[46]

Statistical functions

The accuracy and convenience of statistical tools in Excel has been criticized,[47][48][49][50][51]
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.[52]

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.[53][54]

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 regular year.[55][56] 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.[57] This legacy has later
been carried over into Office Open XML file format.[58]

Thus a (not necessarily whole) number greater than or equal to 61 interpreted as a date
and time is 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.[59]
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. In the case of entering gene
names this is a well known problem in the analysis of DNA, for example in
bioinformatics. The problem was first described in 2004.[60][61]

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.[62]

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.[63]

Numeric precision

Main article: Numeric precision in Microsoft Excel

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

You might also like