Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Microsoft Excel
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Features == === Basic operation === {{Main|Spreadsheet}} Microsoft Excel has the basic features of all spreadsheets,<ref name="Harvey">{{cite book|author=Harvey|first=Greg|url=https://books.google.com/books?id=i5ffgL9KEg8C|title=Excel 2007 For Dummies|publisher=Wiley|year=2006|isbn=978-0-470-03737-9|edition=1st|access-date=September 28, 2020|archive-date=March 3, 2015|archive-url=https://web.archive.org/web/20150303055116/http://books.google.com/books?id=i5ffgL9KEg8C|url-status=live}}</ref> 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 table]]s'' and the ''scenario manager'').<ref name="G_Harvey"> {{cite book|author=Harvey|first=Greg|url=https://books.google.com/books?id=9PCz-uf-bjkC&pg=PA296|title=Excel 2007 Workbook for Dummies|publisher=Wiley|year=2007|isbn=978-0-470-16937-7|edition=2nd|page=296 ''ff''}} </ref> A [[PivotTable]] is a tool for [[data analysis]]. It does this by simplifying large data sets via PivotTable fields. 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,<ref name="deLevie"> {{cite book|title=Advanced Excel for scientific data analysis|author=de Levie, Robert|author-link=Robert de Levie|publisher=Oxford University Press|year=2004|isbn=978-0-19-515275-3|url=https://books.google.com/books?id=IAnO-2qVazsC}} </ref><ref name="Bourg"> {{cite book|title=Excel scientific and engineering cookbook|author=Bourg, David M.|publisher=O'Reilly|year=2006|isbn=978-0-596-00879-6|url=https://books.google.com/books?id=vQaGBMGaWI4C}} </ref> 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,<ref name="Holsapple"> {{cite book|title=Handbook on Decision Support Systems 1: Basic Themes|author1=Εeref, Michelle M. H.|author2=Ahuja, Ravindra K.|name-list-style=amp|editor1=Burstein, Frad|editor2=Holsapple, Clyde W.|chapter=Β§4.2 A portfolio management and optimization spreadsheet DSS|chapter-url=https://books.google.com/books?id=q_3sRkRKZQwC&pg=PA288|isbn=978-3-540-48712-8|year=2008|publisher=Springer}} </ref> or in general, as a design tool that asks the user questions and provides answers and reports.<ref name="Harshbarger"> {{cite book|title=Microsoft Excel 97 Developer's Handbook|author1=Wells, Eric|author2=Harshbarger, Steve|name-list-style=amp|year=1997|publisher=Microsoft Press|isbn=978-1-57231-359-0|url=https://books.google.com/books?id=LRZnWl-LvwsC}} Excellent examples are developed that show just how applications can be designed. </ref><ref name="Horrell"> {{cite book|title=Data, statistics, and decision models with Excel|author1=Harnett, Donald L.|author2=Horrell, James F.|name-list-style=amp|year=1998|publisher=Wiley|isbn=978-0-471-13398-8|url=https://books.google.com/books?id=l0xiQgAACAAJ}} </ref> In a more elaborate realization, an Excel application can automatically poll external databases and measuring instruments using an update schedule,<ref name="acquisition"> Some form of [[data acquisition]] hardware is required. See, for example, {{cite book|title=Data acquisition techniques using PCs|author=Austerlitz, Howard|url=https://books.google.com/books?id=iKKVOJYqi6YC&pg=PA281|isbn=978-0-12-068377-2|year=2003|publisher=Academic Press|edition=2nd|page=281 ''ff''}} </ref> analyze the results, make a [[Microsoft Word|Word]] report or [[Microsoft PowerPoint|PowerPoint]] slide show, and e-mail these presentations on a regular basis to a list of participants. Microsoft allows for a number of optional command-line switches to control the manner in which Excel starts.<ref>{{cite web|date=May 7, 2007|title=Description of the startup switches for Excel|url=http://support.microsoft.com/kb/291288|url-status=live|access-date=December 14, 2010|work=Microsoft Help and Support|publisher=Microsoft Support|quote=Microsoft Excel accepts a number of optional switches that you can use to control how the program starts. This article lists the switches and provides a description of each switch.|archive-date=December 30, 2010|archive-url=https://web.archive.org/web/20101230015945/http://support.microsoft.com/kb/291288}}</ref> === Functions === {{See also|Microsoft Power Fx}} Excel 2016 has 484 functions.<ref>{{cite web|title=Excel functions (alphabetical)|url=https://support.office.com/en-us/article/excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188|url-status=live|access-date=November 4, 2018|website=microsoft.com|publisher=Microsoft|archive-date=November 5, 2018|archive-url=https://web.archive.org/web/20181105062357/https://support.office.com/en-us/article/excel-functions-alphabetical-b3944572-255d-4efb-bb96-c6d90033e188}}</ref> Of these, 360 existed prior to Excel 2010. Microsoft classifies these functions into 14 categories. Of the 484 current functions, 386 may be called from [[Visual Basic for Applications|VBA]] as methods of the object "WorksheetFunction"<ref>{{cite web|date=March 30, 2022|title=WorksheetFunction Object (Excel)|url=https://docs.microsoft.com/en-us/office/vba/api/excel.worksheetfunction|url-status=live|access-date=November 4, 2018|website=Office VBA Reference|publisher=Microsoft|archive-date=November 5, 2018|archive-url=https://web.archive.org/web/20181105062450/https://docs.microsoft.com/en-us/office/vba/api/excel.worksheetfunction}}</ref> and 44 have the same names as VBA functions.<ref>{{cite web|date=September 13, 2021|title=Functions (Visual Basic for Applications)|url=https://docs.microsoft.com/en-us/office/vba/language/reference/functions-visual-basic-for-applications|url-status=live|access-date=November 4, 2018|website=Office VBA Reference|publisher=Microsoft|archive-date=November 5, 2018|archive-url=https://web.archive.org/web/20181105062438/https://docs.microsoft.com/en-us/office/vba/language/reference/functions-visual-basic-for-applications}}</ref> With the introduction of LAMBDA, Excel became [[Turing complete]].<ref>{{cite web|last=Gordon|first=Andy|date=January 25, 2021|title=LAMBDA: The ultimate Excel worksheet function|url=https://www.microsoft.com/en-us/research/blog/lambda-the-ultimatae-excel-worksheet-function/|url-status=live|access-date=April 23, 2021|website=microsoft.com|publisher=Microsoft|archive-date=April 23, 2021|archive-url=https://web.archive.org/web/20210423120636/https://www.microsoft.com/en-us/research/blog/lambda-the-ultimatae-excel-worksheet-function/}}</ref> === Macro programming === ==== VBA programming ==== {{Main|Visual Basic for Applications}} [[File:Functions in Excel.PNG|thumb|300px|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.]] [[File:Subroutine in Excel.PNG|thumb|300px|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<ref name="Press"> For example, by converting to Visual Basic the recipes in {{cite book|title=Numerical recipes: the art of scientific computing|author1=Press, William H. Press|author2=Teukolsky, Saul A.|author3=Vetterling, William T.|author4=Flannery, Brian P.|name-list-style=amp|year=2007|publisher=Cambridge University Press|isbn=978-0-521-88068-8|edition=3rd|url=https://books.google.com/books?id=1aAOdzK3FegC}} Code conversion to Basic from Fortran probably is easier than from C++, so the 2nd edition ({{ISBN|0521437210}}) may be easier to use, or the Basic code implementation of the first edition: {{cite book|title=Numerical recipes: routines and examples in BASIC|author=Sprott, Julien C.|year=1991|publisher=Cambridge University Press|isbn=978-0-521-40689-5|url=https://books.google.com/books?id=3-BfpBw7AqQC}} </ref> 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 [[MacOS#Mac OS X|Mac OS X]]. VBA was restored in the next version, Mac Excel 2011,<ref>{{cite web|title=Excel|url=http://www.officeformachelp.com/excel/|url-status=dead|access-date=July 8, 2012|work=Office for Mac|publisher=OfficeforMacHelp.com|archive-date=June 19, 2012|archive-url=https://web.archive.org/web/20120619131821/http://www.officeformachelp.com/excel/}}</ref> although the build lacks support for [[ActiveX]] objects, impacting some high level developer tools.<ref>{{Cite web|title=Using Excel β PC or Mac? {{!}} Excel Lemon|url=https://www.excellemon.com/view/100-using-excel-pc-or-mac|archive-url=http://webarchive.loc.gov/all/20160921074527/https://www.excellemon.com/view/100-using-excel-pc-or-mac|url-status=dead|archive-date=September 21, 2016|website=excellemon.com|access-date=July 29, 2015}}</ref> A common and easy way to generate VBA code is by using the [[Macro (computer science)|Macro]] Recorder.<ref name="Walkenbach">However an increasing proportion of Excel functionality is not captured by the Macro Recorder leading to largely useless macros. Compatibility among multiple versions of Excel is also a downfall of this method. A macro recorder in Excel 2010 may not work in Excel 2003 or older. This is most common when changing colors and formatting of cells. {{cite book|author=Walkenbach, John|title=Excel 2007 VBA Programming for Dummies|publisher=Wiley|year=2007|isbn=978-0-470-04674-6|edition=Revised by Jan Karel Pieterse|page=79 ''ff''|chapter=Chapter 6: Using the Excel macro recorder|chapter-url=https://books.google.com/books?id=2IBbPiP3wOIC&pg=PA79}}</ref> 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'',<ref name="Walkenbach2">{{cite book|title=cited work|author=Walkenbach, John|chapter-url=https://books.google.com/books?id=2IBbPiP3wOIC&pg=PA53|chapter=Chapter 4: Introducing the Excel object model|page=53 ''ff''|isbn=978-0-470-04674-6|date=February 2, 2007|publisher=John Wiley & Sons}}</ref> 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 [[subroutine]]s 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.<ref>{{cite web|title=The Spreadsheet Page for Excel Users and Developers|url=http://spreadsheetpage.com/index.php/site/tip/developer_faq_general_questions/|access-date=December 19, 2012|website=spreadsheetpage.com|publisher=J-Walk & Associates, Inc.|archive-date=January 21, 2013|archive-url=https://web.archive.org/web/20130121061001/http://spreadsheetpage.com/index.php/site/tip/developer_faq_general_questions/|url-status=live}}</ref> 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 2021, are capable of running an XLM macro, though Microsoft discourages their use.<ref>{{cite web|title=Working with Excel 4.0 macros|url=http://office.microsoft.com/en-us/excel-help/working-with-excel-4-0-macros-HA010336614.aspx|access-date=December 19, 2012|website=microsoft.com|publisher=Microsoft Office Support|archive-date=March 7, 2013|archive-url=https://web.archive.org/web/20130307194541/http://office.microsoft.com/en-us/excel-help/working-with-excel-4-0-macros-HA010336614.aspx|url-status=live}}</ref> === Python programming === In 2023 Microsoft announced Excel would support the [[Python (programming language)|Python]] programming language directly.<ref name="Introducing Python">{{cite web|title=Introducing Python in Excel: The Best of Both Worlds for Data Analysis and Visualization|url=https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482|website=TECHCOMMUNITY.MICROSOFT.COM|access-date=September 15, 2023|language=en}}</ref><ref name="Announcing Python">{{cite web|title=Announcing Python in Excel: Combining the power of Python and the flexibility of Excel.|url=https://techcommunity.microsoft.com/t5/excel-blog/announcing-python-in-excel-combining-the-power-of-python-and-the/ba-p/3893439|website=TECHCOMMUNITY.MICROSOFT.COM|access-date=September 15, 2023|language=en}}</ref> As of January 2024, Python in Excel is available in the Microsoft 365 Insider Program.<ref name="Introducing Python" /> === Charts === [[File:Excel chart.PNG|thumb|right|300px|[[Graph of a function|Graph]] made using Microsoft Excel]] Excel supports [[chart]]s, [[Graph of a function|graphs]], or [[histogram]]s 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. 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-in]]s. 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
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)