Escribal
Back to Docs

Spreadsheet

Sorting & filtering

This group filters and sorts the rows of a sheet. Filtering hides the rows that don’t meet a rule (by exact value, by a condition like “greater than”, or by a cell’s fill or font color) while leaving the data untouched; sorting reorders the rows of a range (ascending, descending, by several columns at once, or grouping a color to the top or bottom). Apply auto filter just turns on the filter dropdown arrows, and Remove auto filter clears every filter and shows all rows again.

Prerequisite: before using any of these instructions, the workflow must already have an XLSX spreadsheet created or opened (with Create spreadsheet). Every instruction works on a sheet (tab) inside that spreadsheet, identified by name (Sheet1 by default), which must already exist.

These concepts recur across several instructions in this group; they are explained here once.

  • Document: indicates which document in the workflow the instruction applies to. If left empty, the current document is used.

  • The sheet must already exist: the Sheet name field chooses which tab the instruction works on, and defaults to Sheet1. If no sheet with that name is found, the instruction does nothing and the workflow continues with the next instruction.

  • Cells, columns and the header row: a cell is named by its column letter and row number (A1, D100); a column on its own is given by its letter (A, B, …). Filters and sorts work on a range with a header row (the first row of the range): that header row stays put and is never hidden or reordered — only the data rows below it are. If the range you give is empty or not a valid A1 range, the instruction simply does nothing.

  • Filtering hides rows, it doesn’t delete them: a filter simply hides the rows that don’t match; the data is still there. Remove auto filter shows every row again. Sorting, by contrast, actually reorders the rows.

  • Colors are given as hex: color fields take a hex code such as FFFF00 (yellow) or FF0000 (red), with or without a leading #.

  • Dynamic values (@name): in any text field (sheet name, cell references, column letters, filter value, color) you can type @ followed by the name of a value saved earlier in the workflow, and it will be replaced by that value.

  • Saving a result (Save match count): the four Filter … instructions can report how many rows matched. Fill in Save match count with a name and that number is stored under it for later steps; leave it empty to save nothing.

  • “From variable” fields: the @name trick only works in text fields. The yes/no options (Has headers, Color on top) each have a companion “from variable” field:

    • If you leave it empty, the value chosen in the normal field is used.
    • If you fill it in with the name of a saved value, the engine ignores the normal field and reads the value from that variable.

    This is mainly for chaining instructions (one instruction saves a value, the next one reads it). If you only work with fixed values, you can ignore these fields.

Apply Auto Filter .xlsx

Turns on the filter dropdown arrows over a header range.

When to use it: to add the filter buttons to a table’s header row so the sheet is ready to be filtered (in the spreadsheet program, or by the filter instructions below).

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start cell First (top-left) cell of the header range (A1). Supports @name A1 No
End cell Last (bottom-right) cell of the header range (D1). Supports @name D1 No

Important behavior: adds an auto filter over Start cell:End cell, replacing any filter already on the sheet. It only sets up the filter; on its own it does not hide any rows.


Filter By Cell Color .xlsx

Keeps only the rows whose cell in a column has a given fill (background) color, hiding the rest.

When to use it: to show only the rows you highlighted with a background color.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to filter. Supports @name Sheet1 No
Header range start First (top-left) cell of the range, including the header row (A1). Supports @name A1 No
Header range end Last (bottom-right) cell of the range (D1). Supports @name D1 No
Filter column letter Column whose cell color is checked (A, B, …). Supports @name A No
Hex color Fill color to keep, as hex (FFFF00). Supports @name FFFF00 No
Save match count Name to store the number of matching rows under (empty) No

Important behavior: hides every data row whose cell in Filter column letter does not have the given fill color; the header row stays visible. If the filter column lies before the range, nothing happens. Save match count stores how many rows were kept.


Filter By Condition .xlsx

Keeps only the rows whose cell in a column meets a condition (like “greater than” or “contains”), hiding the rest.

When to use it: to filter numeric columns by a range or comparison, or text columns by what they contain or start/end with.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to filter. Supports @name Sheet1 No
Header range start First (top-left) cell of the range, including the header row (A1). Supports @name A1 No
Header range end Last (bottom-right) cell of the range (D1). Supports @name D1 No
Filter column letter Column the condition is tested on (A, B, …). Supports @name A No
Condition The test to apply (see list below). Supports @name greaterThan No
Value 1 The value to compare against (the lower bound for between). Supports @name 0 No
Value 2 The upper bound, used only by between. Supports @name (empty) No
Save match count Name to store the number of matching rows under (empty) No

Important behavior: the available conditions are equal, notEqual, greaterThan, greaterThanOrEqual, lessThan, lessThanOrEqual, between, contains, notContains, beginsWith and endsWith. The comparison conditions (greaterThan, …, between) only match cells that hold a number; the text conditions (contains, notContains, beginsWith, endsWith) match on text; and equal/notEqual compare as text, ignoring upper/lower case. A Condition that is not one of those names does nothing (it used to hide every row). between uses both Value 1 and Value 2 — if Value 2 is empty, the instruction does nothing. Non-matching data rows are hidden and the header row stays visible; Save match count stores how many rows were kept.


Filter By Font Color .xlsx

Keeps only the rows whose cell in a column has a given font (text) color, hiding the rest.

When to use it: to show only the rows whose text you colored a certain way.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to filter. Supports @name Sheet1 No
Header range start First (top-left) cell of the range, including the header row (A1). Supports @name A1 No
Header range end Last (bottom-right) cell of the range (D1). Supports @name D1 No
Filter column letter Column whose text color is checked (A, B, …). Supports @name A No
Hex color Font color to keep, as hex (FF0000). Supports @name FF0000 No
Save match count Name to store the number of matching rows under (empty) No

Important behavior: hides every data row whose cell in Filter column letter does not use the given text color; the header row stays visible. If the filter column lies before the range, nothing happens. Save match count stores how many rows were kept.


Filter By Value .xlsx

Keeps only the rows whose cell in a column exactly matches a value, hiding the rest.

When to use it: to show only the rows for one category, name, or code.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to filter. Supports @name Sheet1 No
Header range start First (top-left) cell of the range, including the header row (A1). Supports @name A1 No
Header range end Last (bottom-right) cell of the range (D1). Supports @name D1 No
Filter column letter Column whose value is checked (A, B, …). Supports @name A No
Filter value The value a row must match to be kept. Supports @name (empty) No
Save match count Name to store the number of matching rows under (empty) No

Important behavior: hides every data row whose cell in Filter column letter is not equal to Filter value (the comparison ignores upper/lower case); the header row stays visible. If the filter column lies before the range, nothing happens. Save match count stores how many rows were kept.


Remove Auto Filter .xlsx

Removes any filter on the sheet and shows all rows again.

When to use it: to undo the filter instructions above and bring every hidden row back.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to clear the filter from. Supports @name Sheet1 No

Important behavior: removes the filter and un-hides every row on the sheet, so all data is visible again. Does no harm if the sheet has no filter.


Sort Ascending .xlsx

Sorts the rows of a range from lowest to highest by one column.

When to use it: to order a table A→Z or smallest→largest by a single column.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to sort. Supports @name Sheet1 No
Data start First (top-left) cell of the range (A1). Supports @name A1 No
Data end Last (bottom-right) cell of the range (D100). Supports @name D100 No
Sort column letter Column to sort by (A, B, …). Supports @name A No
Has headers On = the first row is a header and is kept in place Yes No
Has headers (from variable) Reads the has-headers yes/no from a saved value (empty) No

Important behavior: reorders the data rows of the range in ascending order by Sort column letter. Cells holding numbers sort by their value and come before text; text sorts alphabetically, ignoring upper/lower case. When Has headers is on, the first row stays put as the header. Formulas that move keep pointing to the right rows.


Sort By Cell Color .xlsx

Groups the rows with a given fill color to the top (or bottom) of a range.

When to use it: to bring all the rows you highlighted with a color together.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to sort. Supports @name Sheet1 No
Data start First (top-left) cell of the range (A1). Supports @name A1 No
Data end Last (bottom-right) cell of the range (D100). Supports @name D100 No
Sort column letter Column whose cell color is checked (A, B, …). Supports @name A No
Hex color Fill color to group, as hex (FFFF00). Supports @name FFFF00 No
Color on top On = matching rows go to the top; off = to the bottom Yes No
Has headers On = the first row is a header and is kept in place Yes No
Color on top (from variable) Reads the on-top yes/no from a saved value (empty) No
Has headers (from variable) Reads the has-headers yes/no from a saved value (empty) No

Important behavior: moves the rows whose cell in Sort column letter has the given fill color to the top of the range (or to the bottom when Color on top is off), keeping the original order within each group. When Has headers is on, the first row stays put as the header.


Sort By Multiple Columns .xlsx

Sorts the rows of a range by several columns at once.

When to use it: to order a table by a main column and then break ties by a second (or third) column.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to sort. Supports @name Sheet1 No
Data start First (top-left) cell of the range (A1). Supports @name A1 No
Data end Last (bottom-right) cell of the range (D100). Supports @name D100 No
Sort columns Column letters to sort by, comma-separated (A,C,B). Supports @name A,B No
Sort directions asc or desc per column, comma-separated (asc,desc). Supports @name asc No
Has headers On = the first row is a header and is kept in place Yes No
Has headers (from variable) Reads the has-headers yes/no from a saved value (empty) No

Important behavior: sorts by the first column in Sort columns, then breaks ties by the next, and so on. Each column’s direction is taken from the matching position in Sort directions (asc or desc); a column with no matching direction sorts ascending. Numbers sort by value and before text. When Has headers is on, the first row stays put as the header.


Sort Descending .xlsx

Sorts the rows of a range from highest to lowest by one column.

When to use it: to order a table Z→A or largest→smallest by a single column.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to sort. Supports @name Sheet1 No
Data start First (top-left) cell of the range (A1). Supports @name A1 No
Data end Last (bottom-right) cell of the range (D100). Supports @name D100 No
Sort column letter Column to sort by (A, B, …). Supports @name A No
Has headers On = the first row is a header and is kept in place Yes No
Has headers (from variable) Reads the has-headers yes/no from a saved value (empty) No

Important behavior: reorders the data rows of the range in descending order by Sort column letter. Cells holding numbers sort by their value; text sorts in reverse alphabetical order, ignoring upper/lower case. When Has headers is on, the first row stays put as the header. Formulas that move keep pointing to the right rows.


This documentation is the help of the application, and it comes underCreative Commons Attribution 4.0.