English
Cleaning and calculating

Conditional if

Updated 2026-09-04 · 2 min read · For desktop macOS 0.0.9 / Windows 0.0.7

Label or pick a value per row by condition. The panel's three steps, the formula it writes, five worked examples, and the three conditions that silently never match.


The panel

if in the toolbar:

  1. Choose or upload the table — the current one by default.
  2. ConditionMatches all / any of the following, where each condition is a column, a comparator and a value or another column. Comparators: equals, not equals, greater than, less than, greater or equal, less or equal, contains, does not contain. Add Condition adds more.
  3. ResultIf Condition Matches: and Otherwise:, each taking a fixed value, or switched to a column to take that column's value.
  4. Confirm. The new column appears at the right of the table.

The if panel: condition and result
The if panel: condition and result

Writing it by hand

The panel produces exactly this, on the new column:

if(condition, value when true, value when false)
What you want Formula
Over 1000 is a "big" deal, otherwise "regular" if(AA6 > 1000, "big", "regular")
Take the amount if paid, otherwise 0 if(AA7 = "PAID", AA6, 0)
Both conditions if(AA6 > 1000 and AA4 = "EAST", "key", "")
Either condition if(AA7 = "unpaid" or AA7 = "partial", "chase", "")
Nested, three bands if(AA6 > 5000, "A", if(AA6 > 1000, "B", "C"))

Text values go in double quotes; and / or join conditions; a condition can compare two columns directly.

Where it sits in a pipeline

An if column is usually an input to something else:

  • Make a "Paid?" column with if, then SUMIF over it to get "Collected" — exactly how AA10 and AA11 are built in the sample workspace.
  • Make an "Overdue?" column with if, then use a colour rule or a filter on a dashboard to surface the overdue ones.
  • Make a status column with if, then use it as an automation trigger condition.

When a condition never matches

  • Comparing text against a number. With the amount column typed as text, AA6 > 1000 is never true. Fix the field type first.
  • Reference numbers with leading zeros. "0012" = 12 is false; write the condition as text too: "0012".
  • Empty cells. An empty cell equals neither 0 nor "". To test for empty, use len(AA5) = 0.
Did this page not answer your question? Browse the help centre, or write to support@tabledi.com — the inbox is read by the people who build TableDI.