Skip to main content

Schedules in Spreadsheet

Building a stamped schedule, cross-tabbing two dimensions into a pivot table, correcting how a field aggregates, filtering, sizing, and one-click ready-made schedules

Written by Holly Conrad Smith

A schedule is the table format a real estate pro forma actually needs: an area breakdown by usage, a unit mix, a cost schedule, or usage against bed type cross-tabbed into one table, what a spreadsheet program usually calls a pivot table. Building any of these by hand means picking the right source, grouping rows, and getting the aggregation right for every column. Spreadsheet's schedule builder does all of it in one pane, and writes the result as ordinary formulas you can keep editing afterward.

Insert a schedule

  1. Select the cell where the schedule should start.

  2. Click Insert schedule in the toolbar.

  3. Choose a Source: Baked sections for the engine's output (areas, unit counts, usage rates), Raw sections for what was drawn before the engine stacked it, or Usages for the project's usage table.

  4. Choose what goes down the Rows, for example Usage, or leave it as One row, the whole set for a single summary row.

  5. Leave Columns as One column per measure for an ordinary schedule, or set it to Cross-tab by a second field, for example Bed type, to turn the table into a cross-tab with one column per value of that field instead.

  6. Add one or more measures (or, for a cross-tab, the single Value). For each, pick the field, an aggregation (Auto, Sum, Average, Weighted average, Min, Max, Count rows, Count unique or Value), and optionally a number format.

  7. Click Insert at the shown cell reference.

Rows past the last group come out blank on purpose, so leave room. Nothing is reserved. They fill in on their own as the project gains usages.

Cross-tabbing two dimensions

Setting Columns to Cross-tab by a field is the only thing that turns a plain schedule into a cross-tab: usage down the rows and bed type across the top, or building down the rows and floor across the top, one number in each cell where a row and a column meet. Rows and Columns must be two different fields, since cross-tabbing a field against itself would repeat the same value down and across.

A cross-tab also only holds one measure. A plain schedule can hold several side by side, each its own column, with a + Column button to add more. The moment Columns is set to Cross-tab by something, that section relabels itself Value and the + Column button disappears, because a cell where a row and a column meet can only hold one number.

A unit mix is measures-as-columns rather than a cross-tab, because the dwelling mix already arrives as one field per bed type rather than as values of a single "bed type" column. Click Examples ▾ in the toolbar and choose Dwelling counts for that shape in one click, with no need to set Columns to Cross-tab by anything.

Treat as: correcting how a field aggregates

Spreadsheet guesses whether a field sums, averages, or takes a weighted average, and shows that guess next to each measure as Treat as: Plan (one level per section, sums), Total (levels already applied, sums), Rate (per unit, area-weighted mean), Text (not a measure) or Nested (an object, shown as a summary). An unrecognised field defaults to Rate, the class that declines to sum outright, and the dropdown marks whichever option it actually inferred. If Sum is chosen for a field classed as Rate, the pane shows a warning chip, since summing a per-unit rate has no real meaning. Change the dropdown to correct a wrong guess, and Spreadsheet remembers the correction for that field from then on.

Usage and More filters: narrowing what counts

A Usage dropdown appears whenever the source has a usage field, letting the whole schedule narrow to one usage instead of all of them. More filters is a free-text box for anything else, such as levels>3 or name~tower, joined onto the usage filter with AND. See Filters in Spreadsheet for the full filter syntax.

Rows to stamp and Columns to stamp: how big the table is

Rows to stamp sets how many row slots the schedule reserves, 10 by default, up to 500. A cross-tab also shows Columns to stamp, 8 by default, up to 40, for how many column slots to reserve across the top. A slot past the project's actual last row or column group comes out blank rather than an error, so it is safe to reserve more than the project currently needs: those blank slots fill in on their own as the project gains usages or bed types, since nothing is reserved ahead of time, they are just ordinary cells.

Total row

In a plain schedule, the Total row checkbox adds one bottom row summing each measure column down. In a cross-tab it adds a right-hand Total column instead: one extra column, filtered only by that row's own group and not by any single column, giving each row's total across every column of the cross-tab. Uncheck it to leave the table with no aggregate row or column at all.

Ready-made schedules

Click Examples ▾ in the toolbar for one-click schedules the project already has the fields for, such as Dwelling counts (one column per bed type, with a total) or Area schedule (footprint, gross, net, saleable area and efficiency by usage). Clicking one stamps it at the selected cell immediately, without opening the pane. The same list appears inside the Insert schedule pane.

A project with no dwelling mix does not see Dwelling counts on this menu. Only the schedules the project has fields for are offered.

See Example Workbooks in Spreadsheet for full worked pro formas, and Building a Formula in Spreadsheet for the GI.* formulas a stamped schedule writes.

Did this answer your question?