# Table Spreadsheet

< CS101

## Math Paradigms

- A "spreadsheet" is an easy way to do simple computations
- Everyone should be able to make a basic spreadsheet
- "paradigm" .. fancy word, but it applies here
- Numbers and formulas on paper is a paradigm
- Numbers and variables in computer code is a paradigm

- e.g. `x = x + 1;`

- Spreadsheet paradigm is rows and columns of numbers (visual)
- Spreadsheets enable math without programming, a great invention
- History: Visicalc (1979), then Lotus, then Excel
- Spreadsheets energized the "personal computer" revolution

Spreadsheet software - many options: Google docs has a free spreadsheet in the browser, and now Microsoft has a free browser one too with skydive (yay competition!). There's also the free open source Libre Office application. And the famous Microsoft Excel spreadsheet products which work great and are kind of expensive. Any of these will work for all our examples and homeworks.

## Aside: Who Makes Great Software?

- The creators of the spreadsheet knew finance math and paper spreadsheets
- They had some computer knowledge
- Theory: knowing the
**problem domain** creates great software more than knowing CS
- -What problem to solve
- -How users look at the problem
- -The user's priorities
- e.g. Perhaps a working biologist will think up the next great biology program, not a CS person dabbling in biology
- Hidden agenda: everyone should know a little CS

## Monster Example

Monster example spreadsheet in google docs. Below we'll use this as a running first example.

To edit above (or any of our spreadsheets): either (a) In google docs: File > Make Copy to edit. or (b) File > Download As > .xlsx file, and then edit using any program.

For references here is the monster spreadsheet in completed form

## 1. Spreadsheet Cells and Naming

- A spreadsheet is a rectangle of individual cells
- Each cell can contain number, date, text, .. whatever
- Addressing: columns are named: A, B, C, D, ...
- Addressing: rows are numbered: 1, 2, 3, 4, 5, ...
- So one cell can be identified like: B3, C12, A1, ..

Experiment: click on a cell, note its "address" B1 or whatever, type in a word or number

## 2. Columns of Numbers

- Very common to have a few columns of numbers
- e.g. the Red Castle and Blue Castle numbers here
- These are just raw numbers without computation

## 3. Add Computation: sum()

- Compute the total number of monsters in the blue castle
- Click on the B8 cell, a couple rows below the last blue castle number
- Type in the following "formula" (with the equal sign):
**=sum(B1:B6)**
- The equal sign
**=** at the start means this cell is computed from other cells
- The
**sum()** adds up all the numbers in a range of cells
- The
**B1:B6** means the whole vertical group of cells from B1 down through B6 (lowercase letters like b1:b6 work too)
- Type in "Total Count" in the cell to the left (A8) to serve as a label
- Famous Reinhart/Rogoff bug - wrong cells in formula

## Spreadsheet Editing Tricks

- When you change a number up above, the sum is automatically updated
- Once you type in the =sum(...) in the cell, it is replaced with the computed sum number (28 in this case)
- Click the cell, edit up above
- OR double click the cell to edit
- Color shows cell-dependency (vs. wrong-cells bug)
- Type in "b1:b6" vs. click-drag
- Hit the esc key to cancel out of editing, a life saver

-somehow I always find myself editing a cell I did not want to edit
- Using =sum() to add up a bunch of numbers is super common

From the headlines: Reinhart and Rogoff had a popular economics paper supporting austerity, but it had a significant spreadsheet bug. Essentially they wrote something like sum(a1:a8) when they intended (a1:a11), so they left out some numbers. This bug was significant in the paper's results. The subsequent history of the great recession has shown austerity to be a bad idea. Note when you double-click a cell, it shows you what it depends on to help avoid this sort of bug. It's amusing that such high level research can have ordinary bugs just like the rest of us, although of course this should be no surprise. Bugs are a common part of software.

## 4. Add Computation: + - * /

- Suppose every monster pays $100 per night and we want to compute the $ income per night, i.e. count*100
- We can write an arithmetic formula like
**=B1 * B2** in a cell to compute a number based on the values of other cells
- Click the B9 cell just below the sum
- Type in the formula (with the equal sign):
**=B8 * 100**
- Probably the easiest way to edit an existing formula such as in B8 and B9 is double clicking the cell
- Trick: while typing in the formula, instead of typing "B8", just click the cell you mean
- Type in "Total $/night" as a label to the left
- This is similar to the earlier sum() computation, but with basic + - * / type arithmetic

## 5. Magic: Fill Right

- Once you have the B8 and B9 formulas working the way you want, how to replicate them for the Red Castle?
- Easy!
- Click on B8 and drag right to highlight C8
- Type ctrl-R, the Fill Right command .. this is extreme magic
- Fill Right duplicates the formula over to the right
- Filling from column B to C
- Formula in column C updated to use C numbers
- Click B and C computed cells to check this
- Do Fill Right for the Total $/night formula as well

## 6. Chart Magic

- Finally we'll add a chart
- Click on A1 (the upper left of the data) and drag down to the lower right of the data (C6)
- Here just using the column titles and data
- Not the coputed cells
- Select Insert Chart
- There are many types of chart available
- Experiment with bar vs. line chart, or maybe add a title, resize it a bit
- Position the chart below all the numbers
- Notice: changing a number updates the chart
- Making pretty charts with your data is pretty easy

Here's a picture of it in done form:

## Compute average with average(a1:a10)

- Above sum(a1:a10) computes the total sum of range of of numbers
- Similarly, average(a1:a10) compute the mean average of range of numbers
- sum() and average() are probably the two most commonly used functions

## 2. Cell Phone Example - You Try It

- Say we are studying how many times each person check's their cell phone per day
- Here it is in google docs:Cell Phone Example
- To edit above: either (a) File > Make Copy to edit in google docs. or (b) File > Download As > .xlsx file, and then edit using any system
- At the bottom of the numbers
- 1. Compute in separate cells the sum and average for each person (use sum() and average() and fill-right)
- 2. Off to the right, compute a single grand-total number of all the sums. You can just use = and + to make the grand total.
- 3. Make a line-graph chart of the raw data. Are the graphs in agreement with the computed averages?
- -Select upper-left (emily), drag down to the lower right (550). Click Insert > Chart