Jump to content

Microsoft Excel: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m rv
Line 30: Line 30:
In [[computing]], '''Microsoft Excel''' (full name '''Microsoft Office Excel''') consists of a [[proprietary software|proprietary]] [[spreadsheet]]-application written and distributed by [[Microsoft]] for [[Microsoft Windows]] and [[Mac OS X]]. It features calculation, graphing tools, pivot tables and, except for Excel 2008 for Mac OS X, a macro programming language called VBA ([[Visual Basic for Applications]]). It is overwhelmingly the dominant spreadsheet application available for these platforms and has been so since version 5 in 1993{{Fact|date=April 2008}}, and is bundled as part of [[Microsoft Office]].
In [[computing]], '''Microsoft Excel''' (full name '''Microsoft Office Excel''') consists of a [[proprietary software|proprietary]] [[spreadsheet]]-application written and distributed by [[Microsoft]] for [[Microsoft Windows]] and [[Mac OS X]]. It features calculation, graphing tools, pivot tables and, except for Excel 2008 for Mac OS X, a macro programming language called VBA ([[Visual Basic for Applications]]). It is overwhelmingly the dominant spreadsheet application available for these platforms and has been so since version 5 in 1993{{Fact|date=April 2008}}, and is bundled as part of [[Microsoft Office]].



== ''Headline text''''''''Bold text'''''''''Bold text'''''''''Bold text'''''''''''' ==
== History ==
== History ==


Line 51: Line 53:
|url=http://blogs.msdn.com/larryosterman/archive/2005/10/21/483608.aspx
|url=http://blogs.msdn.com/larryosterman/archive/2005/10/21/483608.aspx
|title=Why no Easter Eggs?
|title=Why no Easter Eggs?
HIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII PPLZ
|author=Larry Osterman
|date=October 21, 2005
|accessdate=2006-07-29
|work=Larry Osterman's WebLog
|publisher=MSDN Blogs
}}</ref>


==Versions ==
==Versions ==

Revision as of 17:52, 8 December 2008

Microsoft Excel (Windows)
Developer(s)Microsoft
Stable release
12.0.6214.1000 (2007 SP1) / December 11, 2007
Operating systemMicrosoft Windows
TypeSpreadsheet
LicenseProprietary
WebsiteMicrosoft Office Excel Homepage
Microsoft Excel (Mac OS X)
Developer(s)Microsoft
Stable release
12.1.1 Buid 080522 (2008) / April 14, 2008; 16 years ago (2008-04-14)
Operating systemMac OS X
TypeSpreadsheet
LicenseProprietary
WebsiteMicrosoft Excel: Mac 2008

In computing, Microsoft Excel (full name Microsoft Office Excel) consists of a proprietary spreadsheet-application written and distributed by Microsoft for Microsoft Windows and Mac OS X. It features calculation, graphing tools, pivot tables and, except for Excel 2008 for Mac OS X, a macro programming language called VBA (Visual Basic for Applications). It is overwhelmingly the dominant spreadsheet application available for these platforms and has been so since version 5 in 1993[citation needed], and is bundled as part of Microsoft Office.


Headline text'''Bold text''''Bold text''''Bold text'''''''

History

Microsoft originally marketed a spreadsheet program called Multiplan in 1982, which became very popular on CP/M systems, but on MS-DOS systems it lost popularity to Lotus 1-2-3. Redmond released the first version of Excel for the Mac in 1985, and the first Windows version (numbered 2.05 to line up with the Mac and bundled with a run-time Windows environment) in November 1987. Lotus was slow to bring 1-2-3 to Windows and by 1988 Excel had started to outsell 1-2-3 and helped Microsoft achieve the position of leading PC software developer. This accomplishment, dethroning the king of the software world, solidified Microsoft as a valid competitor and showed its future of developing GUI software. Microsoft pushed its advantage with regular new releases, every two years or so. The current version for the Windows platform is Excel 12, also called Microsoft Office Excel 2007. The current version for the Mac OS X platform is Microsoft Excel 2008.

File:Excel2.png
Microsoft Excel 2.1 included a runtime version of Windows 2.1

Early in 1993, Excel became the target of a trademark lawsuit by another company already selling a software package named "Excel" in the finance industry. As the result of the dispute Microsoft was required to refer to the program as "Microsoft Excel" in all of its formal press releases and legal documents. However, over time this practice has been ignored, and Microsoft cleared up the issue permanently when they purchased the trademark of the other program.[citation needed] Microsoft also encouraged the use of the letters XL as shorthand for the program; while this is no longer common, the program's icon on Windows still consists of a stylized combination of the two letters, and the file extension of the default Excel format is .xls.

Excel offers many user interface tweaks over the earliest electronic spreadsheets; however, the essence remains the same as in the original spreadsheet, VisiCalc: the program displays cells organized in rows and columns, and each cell contains data or a formula, with relative or absolute references to other cells.

Excel was the first spreadsheet that allowed the user to define the appearance of spreadsheets (fonts, character attributes and cell appearance). It also introduced intelligent cell recomputation, where only cells dependent on the cell being modified are updated (previous spreadsheet programs recomputed everything all the time or waited for a specific user command). Excel has extensive graphing capabilities, and enables users to perform mail merge.

When Microsoft first bundled Microsoft Word and Microsoft PowerPoint into Microsoft Office in 1993, those applications had their GUIs redesigned for consistency with Excel,[citation needed] the killer app on the PC at the time.

Since 1993, 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 which, in later versions, 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 (COM) DLL's; later versions add support for class modules allowing the use of basic object-oriented programming techniques.

The automation functionality provided by VBA has caused Excel to become a target for macro viruses. This was a serious problem in the corporate world 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, although since version 10 Microsoft has taken measures to eliminate such undocumented features from their products.Cite error: A <ref> tag is missing the closing </ref> (see the help page).

File formats

Excel Spreadsheet
Filename extension
.xls
Internet media type
application/vnd.ms-excel
Uniform Type Identifier (UTI)com.microsoft.excel.xls[1]
Developed byMicrosoft
Type of formatSpreadsheet

Microsoft Excel up until 2007 version used a proprietary binary file format called Binary Interchange File Format (BIFF) as its primary format.[2] 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.[3] The latter format is not able to encode VBA macros.

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.

Binary

Microsoft made the specification of the Excel binary format specification available on request, but since February 2008 programmers can freely download the .XLS format specification and implement it under the Open Specification Promise patent licensing. [4]

Standard file-extensions

  • spreadsheet: .xls
  • add-in macro sheet: .xla
  • toolbar: .xlb
  • chart: .xlc
  • dialog: .xld
  • archive: .xlk
  • dynamic link library: .xll
  • macro: .xlm
  • template: .xlt
  • module; .xlv
  • workbook: .xlw

Office Open XML

Microsoft Excel 2007, along with the other products in the Microsoft Office 2007 suite, introduces a host of new file formats. These form part of the Office Open XML (OOXML) specification.

The new Excel 2007 formats are:

New Excel 2007 formats
Format Extension Annotations
Excel Workbook .xlsx The default Excel 2007 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.
Excel Macro-enabled Workbook .xlsm As Excel Workbook, but with macro support.
Excel Binary Workbook .xlsb As 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.
Excel Macro-enabled Template .xltm A template document that forms a basis for actual workbooks, with macro support. The replacement for the old .xlt format.
Excel Add-in .xlam Excel add-in to add extra functionality and tools. Inherent macro support due to the file purpose.

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. Attempts have also been made to be able to copy excel spreadsheets to web applications using comma-separated values.

Programming

Excel offers users the useful ability to write code using the programming language Visual Basic for Applications (VBA). Programmers write this code using an editor viewed separately from the spreadsheet. Manipulation of the spreadsheet entries is controlled using objects.[5] With this code any function or subroutine that can be set up in a Basic- or Fortran-like language can be run using input taken from the spreadsheet proper, and the results of the code are instantaneously written to the spreadsheet or displayed on charts (graphs). The spreadsheet becomes an interface or window to the code, enabling easy interaction with the code and what it calculates.

The most common and easiest way to generate VBA code is by use of the macro recorder function that writes the code for the actions that the user carries out with mouse/keyboard. There is a relative/absolute toggle button that allows the user to switch between the two whilst recording a macro. Relative/absolute in this context means the relative to the start cell location or an absolute cell reference for example cell A1 (column A, row 1).

Certain features such as loop functions and screen prompts by their own properties cannot be recorded, but must be entered into the VBA module directly by the programmer.

The macros can easily be activated using a button using the form menu, and advanced users can use user prompts to create an interactive program.

Although conceptually simple to understand (especially using a macro recorder), the combination of multiple steps under many different constraints/conditions requires a robust testing/quality control processes to gain regular/reliable/predictable results for the product to realise its benefits.

Software errors

Criticisms of spreadsheets in general also apply to Excel. See Spreadsheet shortcomings. Errors specific to Excel include accuracy, date problems and the Excel 2007 display error.

Accuracy

Due to Excel's foundation on floating point calculations, the statistical accuracy of Excel has been criticized,[6][7][8][9] as lacking certain statistical tools.

Excel MOD function error

Excel has issues with modulo operations. In the case of excessively large results, Excel will return the incorrect answer of #NUM! error.[10][11]

Date problems

Excel incorrectly treats 1900 as a leap year.[12][13] The bug originated from Lotus 1-2-3, and was purposely implemented in Excel for the purpose of backward compatibility.[14] This legacy has later been carried over into Office Open XML file format. Excel also supports the second date format based on year 1904 epoch.

Excel 2007 display error

File:Excel-error.PNG
Screen shot of Microsoft Excel 2007 showing the 65,535 display error

On September 22, 2007 it was reported[15] that Excel 2007 will show incorrect results in certain situations. Specifically, for some pairs of numbers with a product of 65,535 (such as 850 and 77.1), Excel will display their product as 100,000. This occurs with about 14.5% of such pairs.[16] In addition, adding to this result gives 100,001, but subtracting one from the original product produces the correct result of 65,534.

Microsoft has reported on the Microsoft Excel Blog[17] that the problem exists in the display of six specific floating point values between 65534.99999999995 and 65,535, and six values between 65535.99999999995 and 65,536 (not including the integers). Any calculation that results in one of these twelve values will display incorrectly. The actual value stored and passed to other cells is correct, only the displayed value is wrong. The error was introduced with changes made to the Excel display logic for the 2007 version, and does not exist in previous versions. On October 9, 2007, Microsoft released a fix to the public.[18] This issue is also corrected with Service Pack 1.

Chris Lomont presented a detailed explanation of the bug, how it was likely caused by changing 16-bit formatting code to 32-bit code, why it only affects 12 values and then only while formatting, and how the hotfix corrects the bug.[19]

See also

References

  1. ^ "System-Declared Uniform Type Identifiers". Apple Developer Connection. 2008-04-08. Retrieved 2008-11-10.
  2. ^ "How to extract information from Office files by using Office file formats and schemas". Microsoft. February 26, 2008. Retrieved 2008-11-10.
  3. ^ "XML Spreadsheet Reference". Microsoft Excel 2002 Technical Articles. MSDN. August 2001. Retrieved 2008-11-10.
  4. ^ "Microsoft Office Excel 97 - 2007 Binary File Format Specification (*.xls 97-2007 format)". Microsoft Corporation. 2007.
  5. ^ "Excel Object Model Overview MSDN". Retrieved 2008-11-10.
  6. ^ McCullough, B.D. (2002). "On the accuracy of statistical procedures in Microsoft Excel 2000 and Excel XP". Computational Statistics & Data Analysis. 40 (4): 713–721. doi:10.1016/S0167-9473(02)00095-6. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  7. ^ McCullough, B.D. (2008). "On the accuracy of statistical procedures in Microsoft Excel 2007". Computational Statistics & Data Analysis. 52 (10): 4570–4578. doi:10.1016/j.csda.2008.03.004. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  8. ^ Yalta, A. Talha (2008). "The accuracy of statistical distributions in Microsoft® Excel 2007". Computational Statistics & Data Analysis. 52 (10): 4579–4586. doi:10.1016/j.csda.2008.03.005.
  9. ^ Goldwater, Eva. "Using Excel for Statistical Data Analysis - Caveats". University of Massachusetts School of Public Health. Retrieved 2008-11-10.
  10. ^ "XL: MOD() Function Returns #NUM! Error Value". Microsoft. January 19, 2007. Retrieved 2008-11-10.
  11. ^ "The MOD bug". Byg Software. Retrieved 2008-11-10.
  12. ^ "Days of the week before March 1, 1900 are incorrect in Excel". Microsoft. Retrieved 2008-11-10.
  13. ^ . Microsoft http://support.microsoft.com/kb/214326/en-us. Retrieved 2008-11-10. {{cite web}}: Missing or empty |title= (help)
  14. ^ Spolsky, Joel (June 16, 2006). "My First BillG Review". Joel on Software. Retrieved 2008-11-10.
  15. ^ http://groups.google.com/group/microsoft.public.excel/browse_thread/thread/2bcad1a1a4861879/2f8806d5400dfe22?hl=en&
  16. ^ Vero, Adam (October 2, 2007). "Excel 2007 bug shows wrong answers to simple multiplications". VeroBlog. Retrieved 2008-11-10.
  17. ^ "Calculation Issue Update". Microsoft Excel team blog. September 25, 2007. Retrieved 2008-11-10. {{cite web}}: |first= missing |last= (help)
  18. ^ Gainer, David (October 09, 2007). "Calculation Issue Update (Fix Available)". Microsoft Excel team blog. Retrieved 2008-11-10. {{cite web}}: Check date values in: |date= (help)
  19. ^ Lomont, Chris (Nov 2007). "An Analysis of the Excel 2007 "65535" Bug" (PDF). Retrieved 2008-11-10.

Further reading

  1. ^ AI Spreadsheet. Sourcetable Inc., 2024. Retrieved 2024-11-14.