Tables Part 1: Working With Tables Of Data

For the next few posts, I’d like to spend some time explaining the work we’ve done in Excel 12 to improve the experience of working with tabular data in Excel.

One thing that we see pretty much every Excel user doing with some frequency is working with tables.  Tables can mean different things to different people so let me briefly define what we think of when we use the word table.  A table is a simple structure where each row corresponds to a single “thing†(e.g. a specific transaction, an individual product, etc.), and each column denotes a specific piece of information that’s shared by all rows (e.g. amount of each transaction, product quantity, etc.).  Tables typically have a “header†row at the top that defines the information that each column contains. Some examples of tables might be a list of financial transactions or the latest inventory numbers pulled from a server.  Here’s an example of a very simple (and fictitious) table.

(Click to enlarge)

The two-dimensional nature of the spreadsheet makes it an obvious canvas for manipulating and analyzing tabular data.  Excel, however, has traditionally offered very little in the way of features aimed at tabular data because it had no built-in knowledge of what a table is or how it should behave.  We’ve done a lot of work to make tables a native structure in Excel 12.  When Excel knows you are working with a tabular structure, it can react much more intelligently to the actions you perform in the grid.  Let me demonstrate by way of a simple example.  Here is what our table might look like if we formatted the table, applied a data bar to the Profit column, added a chart, and added a formula at the top of the sheet that totals the Profit column.

(Click to enlarge)

The next thing I might typically do is add some more data.  Let’s look at what happens when I type a value just below the table in cell D9.

(Click to enlarge)

After I pressed Enter, several things happened for me automatically:

  1. The value that I entered was consumed into the table.  Excel assumed I was appending data to my table (if I wasn’t, one click will tell Excel to not auto-expand the table)
  2. When the table consumed the data, my table formatting automatically extended to the new row – and notice that it was smart enough to maintain my alternating row colors
  3. The conditional formatting data bar also extended to the new row, so Excel is now using D5:D9 to calculate the relative size of the data bars 
  4. The formula at the top updated itself to include the new data
  5. Finally, the chart updated as well to reflect the addition to our table

Without a table, I would have to manually adjust the cell formatting, conditional formatting, formula and chart every time I append a value.  What would have taken half a dozen steps or more now happens for me automatically thanks to the table feature.  This is because Excel now recognizes features like a table, table columns, table header and so forth, and can use that knowledge to make informed decisions about what to do while I’m working in the spreadsheet.  The best part is that I am just scratching the surface here; it will take me several posts to fully explain the benefits of tables and all the new features surrounding it.  For now let’s cover some basics.

Creating Tables

A table can be created simply by clicking on the Table command on the Insert tab in the ribbon (even quicker, use the CTRL+L shortcut key).  Clicking the Table command brings up a dialog box where you specify the range for your table, and indicate if your data already contains a header row.

(Click to enlarge)

When you create a table, a new tab appears on the ribbon that is specifically designed for tables.  The tab only appears when the active cell is inside a table.  The tab contains options and settings that are geared for tables.  I won’t go into the details right now, but here’s a screenshot.

(Click to enlarge)

Another bit of work that we did was to merge our table feature with the existing external data query functionality, sometimes referred to as query table.  New queries will therefore also benefit from the features of tables (at the moment, web queries and text queries are excluded from this).  I think the benefit of making query tables into tables will become clear over the next week or two as I go over the capabilities of Excel 12 tables.  Note, if you have an existing query, you can convert it to a table using the Ribbon or keyboard shortcuts described above.  Tables are also created when you import XML data using the XML features we added in Excel 2003.

Entering Data into a Table

We already saw in the example above how to add a new row to a table.  Adding a new column works the exact same way.  Place the active cell just outside the table to the right, enter a value and Excel will automatically grow the table to consume the data that you entered.  If this isn’t the desired result, then a simple command will shrink the table back and leave the value outside the table.  This “auto-expand†behavior can also be turned off.

There are a couple other ways to add rows.  Much like tables in Word, pressing TAB when the active cell is in the last column of the last row will cause Excel to add a new row and move the active cell to the first column of the newly added row.  In addition, pressing ENTER when the active cell is in any cell of the last row will also cause a new row to be added.

Finally, if you want a quick way to resize your table to add or subtract rows or columns, click the resize handle in the lower-right corner of the table and drag it in the direction desired.  You can spot the resize handle in the screen shots above.

One of the goals of the table feature is to maintain the integrity of your tabular structure, so the only way to shift cells or create space in a table is to add or insert entire table rows or entire table columns. 

By the way, some of this may look familiar if you’ve ever used the list feature in Excel 2003.  The table feature is in fact based off lists, but as you’ll see over the next few days we’ve built a much more comprehensive feature set around tables.

Over the next few days I plan to show you:

  • More of the core features of tables
  • The great things that happen when tables and formulas collide
  • Filtering table data & AutoFilter improvements
  • Table Styles and smart formatting behaviors