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
Spreadsheet
(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!
== Programming issues == Just as the early programming languages were designed to generate spreadsheet printouts, programming techniques themselves have evolved to process tables (also known as spreadsheets or [[matrix (mathematics)|matrices]]) of data more efficiently in the computer itself. === End-user development === Spreadsheets are a popular [[end-user development]] tool.<ref name="Empowering Users">{{cite web|url=http://www.uxmatters.com/mt/archives/2009/08/empowering-users-to-create-their-own-software.php|title=Empowering Users to Create Their Software|author=Peter Hornsby}}</ref> EUD denotes activities or techniques in which people who are not professional developers create automated behavior and complex data objects without significant knowledge of a programming language. Many people find it easier to perform calculations in spreadsheets than by writing the equivalent sequential program. This is due to several traits of spreadsheets. *They use [[Space|spatial]] relationships to define program relationships. Humans have highly developed [[intuition (knowledge)|intuitions]] about spaces, and of dependencies between items. Sequential programming usually requires typing line after line of text, which must be read slowly and carefully to be understood and changed. *They are forgiving, allowing partial results and functions to work. One or more parts of a program can work correctly, even if other parts are unfinished or broken. This makes writing and debugging programs easier, and faster. Sequential programming usually needs every program line and character to be correct for a program to run. One error usually stops the whole program and prevents any result. Though this user-friendliness is a benefit of spreadsheet development, it often comes with an increased risk of errors. *Modern spreadsheets allow for [[secondary notation]]. The program can be annotated with colors, typefaces, lines, etc. to provide visual cues about the meaning of elements in the program. *Extensions that allow users to create new functions can provide the capabilities of a [[functional language]].<ref name="excel">{{cite web | title=Improving the world's most popular functional language: user-defined functions in Excel | first1=Simon | last1=Peyton Jones |author-link1=Simon Peyton Jones |first2=Margaret |last2=Burnett|author2-link=Margaret Burnett |first3=Alan |last3=Blackwell |author-link3=Alan Blackwell | url=http://research.microsoft.com/~simonpj/Papers/excel/index.htm |date=March 2003 |archive-url=https://web.archive.org/web/20051016011341/http://research.microsoft.com/~simonpj/Papers/excel/index.htm |archive-date=2005-10-16}}</ref> *Extensions that allow users to build and apply models from the domain of [[machine learning]].<ref name=spreadsheet_machinelearning>{{cite book|last1=Sarkar|first1=Advait|last2=Blackwell|first2=Alan|last3=Jamnik|first3=Mateja|last4=Spott|first4=Martin|title=2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) |chapter=Teach and try: A simple interaction technique for exploratory data modelling by end users |pages=53β56|doi=10.1109/VLHCC.2014.6883022|year=2014|isbn=978-1-4799-4035-6|citeseerx=10.1.1.695.2025|s2cid=14845341}}</ref><ref>{{Cite book|date=2015-10-01|pages=159β163|doi=10.1109/VLHCC.2015.7357211|first1=A.|last1=Sarkar|first2=M.|last2=Jamnik|first3=A.F.|last3=Blackwell|first4=M.|last4=Spott|title=2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC) |chapter=Interactive visual machine learning in spreadsheets |isbn=978-1-4673-7457-6|s2cid=17659755}}</ref> *Spreadsheets are versatile. With their [[Boolean logic]] and graphics capabilities, even [[electronic circuit design]] is possible.<ref name="haynes1985fall">{{cite news | url=https://archive.org/stream/byte-magazine-1985-11/1985_11_BYTE_10-11_Inside_the_IBM_PCs#page/n145/mode/2up | title=Circuit Design with Lotus 1-2-3 | work=BYTE | date=Fall 1985 | access-date=19 March 2016 | author=Haynes, John L. | pages=143β156}}</ref> * Spreadsheets can store [[relational model|relational data]] and spreadsheet formulas can express all queries of [[SQL]]. There exists a query translator, which automatically generates the spreadsheet implementation from the SQL code.<ref>{{Cite journal|title=Translating Relational Queries into Spreadsheets|journal=IEEE Transactions on Knowledge and Data Engineering|date=2015-02-02|volume=27|issue=8|pages=1041β4347|doi=10.1109/TKDE.2015.2397440|first1=J.|last1=Sroka|first2=A.|last2=Panasiuk|first3=K.|last3=Stencel|first4=J.|last4=Tyszkiewicz|arxiv=1305.2103|s2cid=13415694}}</ref> === Spreadsheet programs === A '''''"spreadsheet program"''''' is designed to perform general computation tasks using spatial relationships rather than time as the primary organizing principle. It is often convenient to think of a spreadsheet as a mathematical [[graph theory|graph]], where the [[node (graph theory)|nodes]] are spreadsheet cells, and the edges are references to other cells specified in formulas. This is often called the dependency graph of the spreadsheet. References between cells can take advantage of spatial concepts such as relative position and absolute position, as well as named locations, to make the spreadsheet formulas easier to understand and manage. Spreadsheets usually attempt to automatically update cells when the cells depend on change. The earliest spreadsheets used simple tactics like evaluating cells in a particular order, but modern spreadsheets calculate following a minimal recomputation order from the dependency graph. Later spreadsheets also include a limited ability to propagate values in reverse, altering source values so that a particular answer is reached in a certain cell. Since spreadsheet cell formulas are not generally invertible, though, this technique is of somewhat limited value. Many of the concepts common to sequential programming models have analogs in the spreadsheet world. For example, the sequential model of the [[For loop|indexed loop]] is usually represented as a table of cells, with similar formulas (normally differing only in which cells they reference). Spreadsheets have evolved to use [[Scripting language|scripting]] programming languages like [[Visual Basic for Applications|VBA]] as a tool for extensibility beyond what the spreadsheet language makes easy.
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)