Things to take note

Important information to take note of when using Zen on your spreadsheet

Supported Spreadsheet Functions

Zen supports the popularly used spreadsheet functions.

We are adding more functions every day. We intend to support the vast majority of spreadsheet functions available in Excel, LibreOffice, OpenOffice, and Google Sheets.

If there is a function you would like to use that we do not currently support please contact technical support.

Zen will allow you to create worksheets using functions not supported by Pebble Stream; however, such worksheets are confined to running within Google Sheets.

Spreadsheet Errors

The Pebble Stream runtime will immediately stop the execution of a worksheet if any formula cell returns any of Excel’s standard error codes such as:

#N/A   #DIV/0   #NAME?   #NULL!   #NUM!   #REF!   #VALUE! #SPILL!

This ensures unexpected errors are not allowed to cascade throughout the spreadsheet.

Use the IFERROR function to catch expected errors. This will allow Zen to continue processing.

Unsupported Spreadsheet Features

Zen does not support the compilation or execution of the following Google Sheet spreadsheet functionality:

  • Array formulas
  • @ symbol
  • VBA
  • Goal seek and subtotal functions
  • Pivot tables, images, and charts
  • Worksheet cycles
  • Spillable functions

The choice to not support these Google Sheets features was deliberate. Consider creating a new worksheet or Pebble instead in all of these cases.

Worksheet Dependencies

Zen does not allow worksheets to reference worksheets that are not yet computed. If worksheet cycles are detected during the compilation of a spreadsheet a time travel error will be reported.


Spreadsheets with cyclical worksheet dependencies are not allowed. We call this time traveling.

Instead, Pebblers should strive to create spreadsheets with worksheets that do not have cyclical dependencies.


A spreadsheet with no cyclical worksheet dependencies.

Cyclical worksheet dependencies may not be as evident as in the first example. Time travel issues can sneak in if the Pebbler is not careful. Here is a more complicated example. Note that isolated worksheets are OK.


Cycles may span more than 1 worksheet. Pebblers avoid cycles in order to have a successful spreadsheet compilation.

Here is a more complicated spreadsheet design that does not contain a worksheet dependency cycle. Pebblers often create spreadsheets with worksheet dependencies as complicated as this illustration. Pebble Stream can efficiently compute spreadsheets with similar worksheet dependencies.


Even with the time traveling constraint in place, Pebblers can still create sophisticated workflows

Pebble Stream Directives

Pebble Stream introduces the powerful concept of computing directives to spreadsheet computing.

Analysts use directives to control how the runtime performs drag downs, detects failures, ensures correct inputs, and produces outputs. Analysts can also use directives to generate new worksheet models from existing worksheets.

There are three categories of directives, Transformative, Annotative, and Generative.

Pebblers declare directives using the general form “pebblestream:". Directives may also take parameters.

Analysts use Excel’s commenting feature to embed directives in the columns' headers (row 1).

You may embed multiple directives in a single comment.

Analysts may also add additional comments along with a Pebble Stream directive.