- Getting started with Airtable
- Introduction to Airtable basics
- Contacting Airtable Support Updated
- Airtable home screen
- Glossary of Airtable terminology
- Airtable technical requirements
- Feature differences between Airtable on desktop and mobile
- Airtable keyboard shortcuts
- Using Markdown in Airtable
- Adding descriptions in Airtable
- Finding Airtable IDs
- Airtable Automations
- Automations Overview
- Automation feature walkthroughs
- Integrated automation walkthroughs
- Airtable automation walkthroughs
- Linking existing records using automations
- Conditional groups of automation actions
- Repeating groups of Airtable automation actions
- Creating recurring records using automations
- How to delay Airtable automation runs
- Prevent automations from triggering by mistake
- Use automations to timestamp status updates
- Automation Triggers
- Airtable Triggers
- Airtable automation trigger: When record matches conditions
- Airtable automation trigger: When a form is submitted
- Airtable automation trigger: When record created
- Airtable automation trigger: When record updated
- Airtable automation trigger: When record enters view
- Airtable automation trigger: At scheduled time
- Airtable automation trigger: When webhook received
- Airtable automation trigger: When a button is clicked
- Airtable automation trigger: When email received Updated
- Integrated Triggers
- Airtable Triggers
- Automation Actions
- Airtable Actions
- Airtable automation action: Send email Updated
- Airtable automation action: Create record
- Airtable automation action: Update record
- Airtable automation action: Find records
- Airtable automation action: Sort list
- Airtable automation action: Run a script Updated
- Airtable automation action: Generate with AI
- Integrated Actions
- Airtable automation actions: Slack
- Airtable automation actions: Google Workspace
- Airtable automation action: Send MS Teams message
- Airtable automation actions: Outlook
- Airtable automation actions: Jira Cloud
- Airtable automation actions: Jira Server / Data Center
- Airtable automation actions: Salesforce
- Airtable automation action: Create post in Facebook Pages
- Airtable automation actions: GitHub Issues
- Airtable automation action: Hootsuite post
- Airtable automation action: Send Twilio SMS
- Airtable Actions
- Airtable Bases
- Using Airtable Cobuilder
- Airtable bases overview
- Creating and managing Airtable bases
- Structuring bases in Airtable
- Moving bases between workspaces in Airtable
- Creating and managing tables in Airtable
- Creating Airtable base share links
- Importing third-party data into Airtable
- Using insights in Airtable
- Troubleshooting Airtable base performance
- Airtable Betas
- Collaborating in Airtable
- Airtable Enterprise Support
- General Enterprise information
- External badging in Airtable
- Using app library and components in Airtable Updated
- Ask an Expert beta overview
- European data residency at Airtable
- Airtable user groups overview
- Airtable Enterprise API
- Creating and managing data retention policies in Airtable
- eDiscovery APIs in Airtable
- Airtable and data loss prevention
- Accessing Enterprise audit logs in Airtable
- Set up Jira Server / Data Center to connect with Airtable
- Admin panel pages
- Airtable admin panel overview
- Users - Airtable enterprise admin panel
- Airtable admin panel user details
- Groups - Airtable admin panel
- Workspaces - Airtable Enterprise Admin Panel
- Bases - Airtable admin panel
- Interfaces - Airtable admin panel
- Data sets - Airtable admin panel
- Managed apps - Airtable admin panel
- Components - Airtable admin panel
- Reports - Airtable admin panel
- Settings - Airtable admin panel Updated
- Managing Enterprise organizations
- Managing Enterprise admins in admin panel
- Using Organizations
- Organization branding for apps in Airtable
- Enterprise Hub in Airtable
- Enterprise Hub: Org unit assignment with user groups Updated
- Deactivating, removing access, and reactivating users in the admin panel
- Managing user access to workspaces and bases
- Airtable Enterprise Key Management Updated
- Custom terms of use New
- Enterprise SSO
- General Enterprise information
- Airtable Extensions
- Airtable Fields
- Fields Overview
- Attachment
- Date-based fields
- Formula
- Getting Started with Formulas
- Formula Foundations
- The essentials of Airtable formulas
- Formula writing tips for beginners
- Troubleshooting formulas
- Basic calculations
- Conditional statements
- Logical arguments
- Working with dates
- Displaying DATETIME_FORMAT using the date field in Airtable
- Working with date functions in Airtable
- Calculating the difference between dates in Airtable
- Supported DATETIME_DIFF unit specifiers in Airtable
- Supported DATETIME_FORMAT format specifiers in Airtable
- Using the DATETIME_PARSE() formula in Airtable
- Working with timezones
- Record functions
- Text functions
- Numeric functions
- Common Solutions: Beginner
- Common Solutions: Intermediate
- Common Solutions: Advanced
- Long Text Field
- Linked Record Field
- Linking records in Airtable
- Limiting linked record selection to a view in Airtable
- Dynamic filtering in linked record fields
- Linking to one, many, or a subset of Airtable records
- Converting existing fields to Airtable linked records
- Reordering record links in Airtable
- Understanding linked record relationships in Airtable
- Number-Based Fields
- Other Fields
- Rollup, lookup, and count fields
- Select and user fields
- Integrating with Airtable
- API
- Getting started with Airtable's Web API
- Creating personal access tokens
- Airtable Webhooks API Overview
- Service accounts overview
- Airtable Web API - Using filterByFormula or sort parameters
- Airtable API Deprecation Guidelines
- Airtable API: Common troubleshooting
- Managing API call limits in Airtable
- URL length limitations for web API requests
- Integration services
- Third-party integrations via OAuth overview
- Troubleshooting disconnected OAuth integrations in Airtable
- Options for integrating with Airtable
- Third-party integrations - Common troubleshooting
- Low-code integrations - Common troubleshooting
- Integrating Airtable with external calendar applications
- Visualizing records from Airtable in Tableau
- Visualizing Airtable records in Microsoft Power BI & Power Query
- Integrating HubSpot with Airtable
- Using Zapier to integrate Airtable with other services
- Using Zapier's Multi-Step Zaps to find and update records
- Using IFTTT to integrate Airtable with other services
- Integrating with AWS Lambda & DynamoDB
- Developer tools
- API
- Airtable Interface Designer
- Interface Designer overview articles
- Interface layouts
- Interface elements
- Adding and removing elements in interfaces
- Adding layouts to interfaces
- Formatting elements in interfaces
- Interface element: Button
- Interface element: Calendar
- Interface element: Chart
- Interface element: Filter
- Interface element: Gallery
- Interface element: Grid
- Interface element: Kanban
- Interface element: Number
- Interface element: Record picker
- Interface element: Text
- Interface element: Timeline
- Learning and Resources
- Managing Airtable
- Airtable Policy
- Airtable Records
- Airtable Sync
- Airtable Views
- Airtable Workspaces
- Print
- Share
- DarkLight
- PDF
Conditionally displaying missing field values in Airtable
- Updated on 18 Dec 2023
- 4 Minutes to read
- Print
- Share
- DarkLight
- PDF
This article covers how to use IF, AND, and FIND functions to streamline your team's and organization's work.
Introduction
All plan types | |
Platform(s) | Web/Browser, Mac app, and Windows app |
Related reading |
Conditionally displaying missing field values
NOTE
The IF, AND, and FIND functions allow you to create formulas that will conditionally keep track missing base information.
Example base used in this article
Example use case
To start, we'll be using an applicant tracking base as an example scenario. This simple base is setup to track each stage an applicant goes through during a company hiring process.
Example requirements
The recruiting team needs to make sure a number of tasks are completed for each candidate during each stage of the process. These tasks correspond to the checkboxes in our table:
The candidate passing the interview (Interviewer Pass)
Updating the team (Team Update)
The Recruiter following up with the candidate (Recruiter Follow Up)
Moving the candidate to the next stage (Move Stage)
Optionally, if the candidate is applying for a management role, updating the department director (Director Update)
For their workflow, the recruiting team would like a single field to show a list of any tasks that are remaining for each candidate in each stage. They want to use this field to send an automated update every day to their team's Slack channel for more visibility into the recruiting process.
Building formulas
Starting with the logic needed to accomplish this, here's the requirements written out plainly:
If any of the fields above are blank, show the task for that field as missing.
If the candidate is applying for a management role, also include the director update field.
Display the results of checking each field in a single formula field, ideally with each missing task separated by a comma, and separated by a line break.
An IF statement is needed to check each of these fields, and will be structured like this:
IF(
{Interviewer Pass}=BLANK(),
"Interviewer Pass"
)
However, we'll need to string five conditional statements together in the formula field. We'll also need to build in comma separation and line breaks. Here's what that should look like with just two out of the five sets of statements we'll need.
Let's breakdown what's going on in the formula above:
This checks if the field is empty (in this case, unchecked)
Display this text if the field is empty
Adds a comma separator
", "
Adds a line break
"\n"
Allows a separator so the next conditional statement can be added
Stringing conditional statements together
When you add on the other three sets of conditional statements, the entire formula will look like this:
IF({Interviewer Pass}=BLANK(), "Interviewer Pass" & ", " & "\n")
&
IF({Team Update}=BLANK(), "Team Update" & ", " & "\n")
&
IF({Recruiter Follow Up}=BLANK(), "Recruiter Follow Up" & ", " & "\n")
&
IF({Move Stage}=BLANK(),"Move Stage" & ", " & "\n")
&
IF(
AND(
FIND("Manager", Role),
{Director Update}=BLANK()
),
"Director Update"
)
Notice that for the last statement there are two additional functions - AND()
and FIND()
- that allow for a conditional check to see if the role is a management role, and if it is, add on a check to see if the {Director Update} field is checked.
Final result
For the final result, we can see that every field that is checked off will be removed from the running list of missing tasks, until they're all complete.
Line break alternatives
With the added line breaks, each task will appear on its own line. A benefit of the formula string used for this approach is that there aren't an empty lines between tasks shown when the row height is expanded.
This is an alternative approach to use of "\n", and for the sake of example it's helpful to see how the typical approach to line breaks would look in this scenario. As a quick review:
The typical line break approach uses this string to force line breaks between functions in a formula:
& "\n" &
. This string would go after each formula function where you want to insert a line break.The alternate approach (used in this article) uses this modified string:
& "\n"
). This string goes within each function, making the line break part of the conditional display of text (in the IF statement).
The result of this alternate approach is that only a line break is added if the condition is met - in this case, if a task is missing.
For reference, here's how the full formula used above would look with the typical line break approach:
IF(
{Interviewer Pass}=BLANK(),
"Interviewer Pass, ")
& "\n" &
IF(
{Team Update}=BLANK(),
"Team Update, ")
& "\n" &
IF(
{Recruiter Follow Up}=BLANK(),
"Recruiter Follow Up, ")
& "\n" &
IF(
{Move Stage}=BLANK(),
"Move Stage, ")
& "\n" &
IF(
AND(
FIND("Manager", Role),
{Director Update}=BLANK()
),
"Director Update"
)
And here's an example of what the result would be; notice the line breaks between tasks, which isn't ideal for this scenario (and takes up unnecessary visual space).