Smartsheet Foundations

Sheet Architecture & Column Types

Understand the Smartsheet data model — column types, hierarchies, dependencies, and the structural decisions that determine whether your sheet handles 50 rows or 50,000.

Smartsheet vs. Excel — The Mental Model Shift

Smartsheet looks like a spreadsheet but thinks like a database. Understanding this distinction is the key to building sheets that scale.

Excel is cell-based: any cell can contain anything. You can put a date in a column labeled "Name," a formula where you expected text, or free-form notes anywhere. This flexibility is powerful but chaotic — data quality degrades fast in shared Excel workbooks.

Smartsheet is column-typed: each column has a defined type (Text/Number, Date, Contact List, Dropdown, Checkbox, Symbol, Duration, etc.). This constraint is a feature. It enforces data quality, enables automations, powers Gantt scheduling, and makes the platform intelligent about your data.

Think of it this way:

  • Excel rows = cells in a grid
  • Smartsheet rows = records in a database table

Columns in Smartsheet are fields. Every row must conform to the column's type. This is closer to Airtable or a relational database than to a traditional spreadsheet.

Column Types and When to Use Each

Text/Number

Free-form data — the default type. Use for names, descriptions, amounts, IDs. Unlike Excel, numbers stored in a Text/Number column can still be used in formulas.

Date

Enables Gantt chart visualization, date-based automations, and NETWORKDAYS calculations. When you enable Dependencies on a sheet (Project Settings > Dependencies), Smartsheet uses Start Date + Duration + Predecessor columns to automatically calculate schedules.

Contact List

Stores email addresses tied to Smartsheet users. This isn't just text — it creates live links to users. Enables:

  • @mentions in row comments and automations
  • Resource management and capacity views
  • Assignment tracking with profile photos
  • Send update requests directly to the assigned person

Critical for accountability in team workflows. Use it instead of a plain Text column for any "Assigned To" or "Owner" field.

Dropdown (Single Select / Multi Select)

Constrained choices from a predefined list. Use for Status, Priority, Category, Department. The key benefit: enforces consistency. No more "In Progress" vs "in progress" vs "In-progress" — the dropdown forces everyone to pick from the same set of values. This matters enormously when you're filtering, counting, or triggering automations based on status values.

Multi Select allows more than one option per cell. Use for tags, skills, or department affiliation where a row can belong to multiple categories.

Checkbox

Boolean (checked/unchecked). Use for completion tracking, approval gates, and as triggers for automations. A common pattern: when the "Approved" checkbox is checked → automation sends a notification and locks the row.

Symbol

Visual indicators: stars, flags, colored dots, traffic lights, arrows. Use for priority, risk level, health status. Limited to Smartsheet's predefined symbol sets (you can't create custom symbols). The value is visual communication — a red traffic light in a status column communicates faster than reading the word "At Risk."

Duration

Stores time durations as text that Smartsheet understands: "5d" (5 days), "2w" (2 weeks), "4h" (4 hours). Used with Start Date and Predecessor columns for dependency-based scheduling. When you enable Dependencies, changing a predecessor's dates automatically shifts dependent tasks.

Predecessor

Defines task dependencies. Syntax: row number + relationship type:

  • 3 or 3FS — Finish-to-Start: task 3 must finish before this starts
  • 3SS — Start-to-Start: this starts when task 3 starts
  • 3FF — Finish-to-Finish: this finishes when task 3 finishes
  • 3FS+2d — Finish-to-Start with 2-day lag

Combined with Duration and Start Date, Predecessors drive automatic schedule calculation across the Gantt chart.

Auto-Number

Auto-incrementing integer. Use as a unique identifier for cross-sheet references and formulas. You can format it: "TKT-{00001}" for support tickets, "REQ-{001}" for requests. Once set, cannot be manually edited.

Created/Modified Date and By

System columns that automatically track who created or modified a row and when. Essential for audit trails. You can't write to these columns — Smartsheet manages them automatically.

Row Hierarchy

Indent rows to create parent-child relationships. This is essential for project management structures:

Phase 1: Discovery (parent)

Task 1.1: Stakeholder interviews (child)

Task 1.2: Requirements gathering (child)

Task 1.3: Technical assessment (child)

Phase 2: Design (parent)

Task 2.1: Wireframes (child)

Task 2.2: Database schema (child)

How to indent: Select a row, then press Tab (or use the indent button in the toolbar).

Parent row behavior:

  • Numbers in parent rows automatically roll up (sum of children for numeric columns, earliest start date, latest end date)
  • Expand/collapse parents to show different levels of detail
  • Use for executive vs. team views of the same data

Formulas on parent rows: Use the CHILDREN() function to aggregate child data explicitly:

text
=SUM(CHILDREN())       // Sum of child row values for this column
=AVG(CHILDREN())       // Average
=COUNT(CHILDREN())     // Count of child rows
=MAX(CHILDREN())       // Maximum child value

Sheet Design Patterns

Project Tracker

text
Task Name (Primary) | Assigned To (Contact) | Status (Dropdown)
Priority (Symbol) | Start Date | End Date | Duration | Predecessor
% Complete | Notes

Enable Gantt view for timeline visualization. Use hierarchy for Phase → Task → Subtask.

Intake / Request Tracker

text
Request Name (Primary) | Requester (Contact) | Date Submitted (Created Date)
Category (Dropdown) | Description | Priority (Dropdown) | Status (Dropdown)

Attach a Form for external submission. Automate routing based on Category.

Inventory / Asset Tracker

text
Item Name (Primary) | SKU (Auto-Number) | Category (Dropdown)
Quantity | Location | Last Updated (Modified Date) | Owner (Contact)

Budget Tracker

text
Line Item (Primary) | Category (Dropdown) | Budgeted | Actual
Variance (formula: =[Budgeted]-[Actual]) | Status (Symbol) | Notes

Sheet Limits and Scaling

  • 20,000 rows per sheet (non-Admin plans)
  • 500,000 cells (rows × columns) — whichever limit hits first
  • 400 columns per sheet

For data that exceeds one sheet: split into multiple sheets and aggregate with cross-sheet references, cell links, or reports. This is the Smartsheet architecture pattern for enterprise use — covered in Lesson 3.

Example

smartsheet
// Column reference syntax examples

// Reference a column in the current row
=[Status]@row             // Status column, current row
=[Assigned To]@row        // Contact column, current row
=[Due Date]@row           // Date column, current row
=[% Complete]@row         // Percent column, current row

// Hierarchy-aware formulas (on parent rows)
=SUM(CHILDREN())          // Sum all child values
=AVG(CHILDREN())          // Average of child values
=COUNT(CHILDREN())        // Count of child rows
=MAX(CHILDREN())          // Maximum child value

// Variance formula (budget tracker)
=[Budgeted]@row - [Actual]@row

// Days until due date
=[Due Date]@row - TODAY()

// Status based on completion
=IF([% Complete]@row = 1, "Complete",
  IF([Due Date]@row < TODAY(), "Overdue",
  IF([Start Date]@row > TODAY(), "Not Started", "In Progress")))
Try it yourself — SMARTSHEET

Smartsheet, Smart Assist, Smart Agents, Smart Columns are trademarks of Smartsheet Inc.. DevForge Academy is not affiliated with, endorsed by, or sponsored by Smartsheet Inc.. Referenced for educational purposes only. See full disclaimers