Google Sheets Tips

Data validation in Google Sheets: rules, drop-down lists and custom formulas

Data validation limits what can be typed into a cell. This guide walks through the built-in rules for numbers, text, dates and checkboxes, drop-down lists, custom formulas, and conditional drop-downs that change with another cell, built with FILTER, INDIRECT or XLOOKUP.

Google Sheets TipsVadym Kramarenko20 min read

Data validation in Google Sheets: rules, drop-down lists and custom formulas

Data validation in Google Sheets is a rule attached to a cell or a range that limits what can be entered there. To add one, select the cells, open Data > Data validation, click Add rule, choose the criteria and decide what happens to an invalid entry: a warning, or a rejected input.

You need Criteria to choose
A number within limits Is between, with a minimum and a maximum
A fixed list of options Dropdown, with the options typed in
Options taken from cells Dropdown (from a range)
A real date, with a date picker Is valid date
A well-formed email address Text is valid email
Yes or no Checkbox
Any rule you can write as a formula Custom formula is
A list that depends on another cell A helper list built with FILTER, INDIRECT or XLOOKUP, used as Dropdown (from a range)

A cell can have one rule. Conditions are combined inside a custom formula, with AND or OR.

Set up a rule step by step

Set up a rule step by step

The steps are the same for every rule. Example:

Suppose you’re working with a sales team dataset and want to make sure the Lead Score column only accepts values between 1 and 10.

Step 1: Right-click the column header where you want to apply the rule and choose Data validation. You can also go to the top menu and click Data > Data validation.

Selecting numeric range in Google Sheets data validation menu to set the rule options.

Step 2: In the sidebar that appears, click + Add rule to start setting up your validation.

Sidebar in Google Sheets showing the option to add a new data validation rule.

Step 3: Check the Apply to range box to confirm the selected cells are correct. This is where your rule will be applied.

Showing selected cell range for applying data validation in  Google Sheets.

Step 4: Under Criteria, choose a condition such as Is between, and enter limits like 1 and 10.

Criteria settings for applying a number range between 1 and 10 for data validation in Google Sheets.

Step 5: Open Advanced options and choose how invalid entries are handled: Show a warning keeps the entry and marks the cell, Reject the input refuses it. Click Done to apply the rule.

Warning message in Google Sheets triggered by invalid entry in Lead Score column.

Data validation rule applied to the Lead Score column, restricting values to between 1 and 10. When an invalid entry is made, a warning message appears to guide the user.

Built-in validation rules

Built-in validation rules

Creating a Drop-Down list with data validation

A drop-down list limits a cell to a set of options. Example:

Suppose you’re working with a team dataset and want to ensure only “Sales” or “Marketing” is entered under the Department column.

Steps to create the dropdown list:

Step 1: Highlight cells C3 to C10 in the Department column. Click Data > Data validation or right-click and choose Dropdown.

Google Sheets data validation option highlighted under the Data menu to restrict Department column entries.

Step 2: In the setup panel, choose Drop-down as criteria and enter the allowed values: Sales and Marketing.

Google Sheets data validation dropdown setup with values “Sales” and “Marketing.”

Step 3: Click Done, then test the dropdown to confirm it works.

Active dropdown list applied through data validation in Google Sheets.

A dropdown list applied to the Department column, allowing only “Sales” or “Marketing” as valid inputs.

Setting up number validation

Example:

Suppose you want to ensure the Monthly Target column only accepts values between $40,000 and $70,000.

Steps to set up a number validation:

Step 1: Select the cells in the Monthly Target column that contain or will contain numeric data, and click on Data > Data validation from the top menu.

Opening data validation from the Data menu in Google Sheets to restrict Monthly Target values.

Step 2: In the sidebar, set Criteria to is between and enter 40000 as the minimum and 70000 as the maximum value. Click Done to finish and activate the validation rule.

Adding number range rule through data validation settings sidebar in Google Sheets.

Step 3: Test the rule by entering a value like, 30000 to see if the error message appears for numbers outside the allowed range.

Error shown in Google Sheets after entering number outside the allowed data validation range.

This ensures only valid monthly target values are entered, keeping your data accurate and within the set limits.

Applying text validation

Example:

Suppose you want to make sure all entries in the Email column are valid email addresses.

Steps to apply text validation:

Step 1: Select the cells in the Email column where email addresses will be entered. Click on Data > Data validation from the top menu to open the sidebar.

Google Sheets data validation option selected to apply email format rule in the Email column.

Step 2: Under Criteria, choose the “Text is valid email” option from the dropdown options.

Data validation criteria in Google Sheets set to allow only valid email addresses.

Under Advanced options, tick Show help text for a selected cell and write a hint such as “Please enter a valid email address”. To block wrong entries completely, select Reject the input under If the data is invalid.

Google Sheets data validation rule set to allow only valid email addresses with help text and rejection of invalid input.

Test the rule by typing an incorrect email. With Reject the input selected, the entry is refused and the help text is shown:

Invalid email entry blocked by data validation rule in Google Sheets.

The rule checks the shape of the address, not whether the mailbox exists.

Setting up date validation

Example:

Suppose you want to make sure all entries in the Join Date column are valid dates, not random text or incorrectly typed values.

Steps to apply date validation:

Step 1: Select the cells in the Join Date column where team members’ joining dates are going to be entered and click Data > Data validation to open the rule panel.

Google Sheets data validation menu opened to apply a rule for accepting only valid dates in the Join Date column.

Step 2: Under Criteria, choose “Is valid date” from the dropdown options. Click Done to save and apply your rule to the selected cells.

Google Sheets data validation rule set to accept only valid dates in the Join Date column, with options to show a warning or reject invalid input.

Test it by entering something like “Next Monday” or “Joined last year” to see if it’s blocked.

Join Date column in Google Sheets with an applied rule to accept only valid dates.

A calendar will appear when you click the cell, allowing you to select a date in the correct format.

Calendar picker appearing in Google Sheets cell after applying date validation.

This ensures that only valid calendar dates are accepted, keeping your date-related data clean and consistent.

Using a checkbox for binary validation

A checkbox stores TRUE when ticked and FALSE when not, so formulas such as COUNTIF and FILTER can use the column directly. Example:

Suppose you want to track if an employee is active using the Active column in your dataset.

Steps to apply checkbox validation:

Step 1: Select the cells in the Active column where you want to allow only checkbox input. Go to Data > Data validation from the top menu.

Google Sheets data validation menu accessed to apply a checkbox rule for the Active column.

Step 2: Under Criteria, select the Checkbox from the dropdown options.

Google Sheets data validation rule using checkboxes with TRUE and FALSE values in the Active column.

Step 3: Choose Reject input to prevent users from typing anything else, and click Done to apply the rule.

Checkbox input in Google Sheets Active column enabled through data validation.

Now you can easily mark which employees are currently active.

Google Sheets showing checkboxes restricting user input to binary values.

This ensures that only binary input is accepted, keeping employee status entries consistent and easy to use.

The Turning Point

OWOX Data Marts

See your first report built in real time. 15 minutes.

  1. Connect your data warehouse
  2. Pick your metrics
  3. Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

Book a Demo

We'll use your actual use case

Custom formulas and conditional validation

Custom formulas and conditional validation

Implementing custom formula validation

A custom formula covers every rule the built-in criteria do not. The formula is written for the first cell of the range and has to return TRUE for a valid entry; Sheets adjusts the reference for the other cells.

Example:

Suppose you want to ensure the values entered in the Monthly Target column are always valid positive numbers – no negative amounts, text, or blanks.

Steps to apply custom formula validation:

Step 1: Highlight the cells in the Monthly Target column where you want the rule applied and click Data > Data validation to open the validation settings panel.

Google Sheets data validation opened to apply a custom formula for Monthly Target entries.

Step 2: Under the Criteria dropdown, select Custom formula is to create a custom logic rule. In the formula field, enter:

=AND(ISNUMBER(C3),C3>=0)

Here’s what each parameter means:

  • ISNUMBER(C3): Checks that the input is a number, not text or blank.
  • C3>=0: Ensures the number is zero or higher.
  • AND(…): Combines both checks, so the value must be numeric and non-negative.

Using Custom formula input in Google Sheets data validation panel using ISNUMBER and AND to restrict Monthly Target to non-negative numbers.

Step 3: Choose Reject input to block any values that don’t match the rule, like negative numbers or text. Click Done to apply the rule and close the settings panel.

Google Sheets data validation rule selecting Reject input option to block negative numbers and text in the Monthly Target column.

Test the rule by entering a negative number (like -1000) or text; it should show an error message.

Validation message triggered in Google Sheets by entry of negative number or text.

This validation keeps your sales targets accurate and prevents invalid data from affecting reports or forecasts.

Using conditional formatting with data validation in Google Sheets

Validation controls what goes into a cell; conditional formatting draws attention to what is already there. The two work well on the same range.

Example:

Suppose you want to highlight active employees with a Lead Score below 5 in your dataset.

Steps to apply conditional formatting with data validation:

Step 1: Select the full range of rows where the Lead Score and Active status are recorded, and click on Format > Conditional formatting from the menu to open the formatting panel.

Opening the Conditional Formatting option in Google Sheets to visually support data validation rules for employee data.

Step 2: Under “Format cells if,” choose Custom formula is and enter the following formula:

=AND($C2=TRUE, $D2<5)

Here’s what each parameter means:

  • $C2=TRUE Checks if the value in cell C2 is TRUE.
  • $D2<5 Ensures the value in cell D2 is less than 5.
  • AND(…): Combines both checks, so the condition is only TRUE if both are met.

Google Sheets using a custom formula in Conditional formatting to highlight Active employees with a Lead Score below 5 alongside data validation.

Step 3: Choose a formatting style, such as red fill or bold text, to make underperforming active employees stand out. Click Done to apply the rule to the range.

Google Sheets showing red highlight applied through Conditional formatting based on a data validation rule.

This method makes it easy to catch low lead scores at a glance while maintaining clean, validated data.

Conditional data validation with FILTER

A drop-down can show only the options that meet a condition. The rule itself cannot filter, so the filtering is done by a formula in a helper range, and the drop-down reads that range.

Example:

Suppose you want to create a dropdown in the Assignee column that only shows employees with Active = TRUE, so inactive employees can’t be selected for project tasks. The Main Sheet contains your complete employee data, including the Active status column.

Steps to apply conditional data validation with the FILTER function:

Step 1: In a helper Sheet named “Filtered Data”, use the following formula to list only active employees:

=FILTER(B2:B10, C2:C10=TRUE)

Here’s what each parameter means:

  • B2:B10: This is the range of employee names that we want to filter.
  • C2:C10=TRUE: This checks if each corresponding employee in the same row is marked as active (TRUE).
  • FILTER(…): Returns only the employee names from B2:B10 where the active status in C2:C10 is TRUE.

Using the FILTER function in Google Sheets to create a list of active employees for data validation.

Step 2: Select the filtered list, and name the range using the Name Box as ActiveList.

Google Sheets showing filtered list of active employees with named range for dropdown data validation.

Go to the “Assignee” column in the main sheet where you want to apply the dropdown.

Step 3: Click Data > Data validation; for criteria, choose Dropdown (from a range) and enter the named range: ActiveList

Google Sheets data validation rule using named range “ActiveList” to create an Assignee dropdown based on active employees.

Step 4: Click on Done and click on the dropdown to assign the task.

Dropdown in Google Sheets Assignee column showing active employee names set by data validation using a filtered list.

Only employees marked as active appear in the list. When a status changes in the main sheet, FILTER updates the helper list and the drop-down follows.

Validation rules are not copied between files. What you can share is the list of allowed values: import it with IMPORTRANGE and use the imported range as the source of a drop-down, so that every file offers the same options.

Example:

Suppose you have a master dataset in another Google Sheet file, in a sheet named Main Sheet, and you want to pull the data from there into your current sheet.

Steps to use the IMPORTRANGE function with validated data:

Step 1: Open the sheet where you want to display the department data and enter the formula below in a blank cell.

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/spreadsheet_id/edit", "MainSheet!B2:C")

Here’s what each parameter means:

  • The URL: the address of the source spreadsheet. Replace it with your own.
  • MainSheet!B2:C: Range of data to import.
  • IMPORTRANGE: Pulls the data into your current sheet.

Using IMPORTRANGE function in Google Sheets to pull validated Department data from another sheet.

When prompted, click Allow access to connect both sheets securely.

Google Sheets with IMPORTRANGE in a destination sheet, with a prompt to allow access to the source spreadsheet.

Step 2: The data from the Main Sheet will now appear in the new file.

Google Sheets displaying clean Department data imported via IMPORTRANGE function for consistent dropdown data validation.

Select the imported column as the range of a Dropdown (from a range) rule, and the list in this file follows the master list in the other one.

Creating dependent dropdown lists

A dependent drop-down changes its options according to the choice made in another cell: pick a department, and the next list shows only its employees.

Dependent dropdown lists using the INDIRECT function

INDIRECT turns a text into a reference. If each list of options is a named range, and the names match the options of the first drop-down, INDIRECT returns the list that belongs to the selected option.

Example:

We’ll select a Department in one cell and use INDIRECT to display a list of matching employees in the next cell using named ranges.

Steps to create a dependent dropdown using INDIRECT:

Step 1: In one sheet (Sheet1 in this example), set up the source data for your dropdowns. Use department names like “Sales” and “Marketing” as column headers in cells B2 and C2. Under each header, list the employees from your main data who belong to that department. This table will be used to create the dependent dropdowns using the INDIRECT function.

Dataset for creating Named Ranges for dependant dropdown using INDIRECT function.

Step 2: Select the list under each department (e.g., B3:B for Sales) and name the range exactly as the header (e.g., Sales, Marketing) using Data > Named ranges.

Creating Named Ranges in Google Sheets for creating dependant dropdown via data validation.

Step 3: In the tab where you want to place the dependent dropdown, click Insert > Dropdown on the respective cell and add the criteria as “Drop-down (from a range)”, then specify the Sheet and the departments (should match exactly with how you named the ranges).

Settings for creating Data Validation for Dependant dropdown in Google Sheets.

Click Done to create the Department dropdown.

Step 4: In a free cell, enter the formula that reads the department selected in B3:

=INDIRECT(B3)

The formula returns the named range with that name, the employees of the selected department, as a list below the cell. Use that list as the range of a second Dropdown (from a range) rule.

The names have to match exactly, and a named range cannot contain spaces, so this method suits short, stable lists of categories.

Dynamic dependent Drop-Down list using XLOOKUP

XLOOKUP does the same without named ranges: it finds the selected option in the header row of the source table and returns the column underneath.

Example:

Suppose you’re building a form where a user first selects a department, like ‘Sales’ or ‘Marketing’. Based on that choice, the next dropdown should only display employees who work in the selected department.

Steps to create a dynamic dependent dropdown using XLOOKUP:

Step 1: In one sheet (Sheet1 in our example), organize your source data by adding department-based columns. Take the needed departments like “Sales” and “Marketing” as column headers, and list the corresponding employee names under each department. This structured layout will be used to create dynamic dropdown options later.

Google Sheets table listing employees in Sales and Marketing departments to create a dependent data validation setup.

Step 2: In the sheet where you want the dropdown to appear, click Insert>Dropdown. Then choose Dropdown from a range under Criteria, and enter the sheet and column range where department names are stored (Sheet1!B2:C2 for our example)

Data validation rule in Google Sheets set to create a dropdown from a department range for dependent list selection.

Click Done to create the Department dropdown.

Step 3: In a different cell (in the same sheet), enter the following formula:

=TOCOL(XLOOKUP(B3, Sheet1!B2:C2, Sheet1!B3:C6), 1)

Here:

  • B3: The cell with the department drop-down
  • Sheet1!B2:C2: The header row with department names
  • Sheet1!B3:C6: The lists of employee names under each department
  • TOCOL(…, 1): Returns the result as one column and leaves out the empty cells

Google Sheets formula using XLOOKUP and TOCOL to dynamically generate employee names for data validation based on department.

This will return a dynamic list of employees based on the selected department in B3.

Google Sheets with a Department drop-down set to Marketing and a dependent Employees list beside it.

Dropdown in Google Sheets displaying “Sales” department selected to trigger dependent employee list for data validation.

Step 4: Go to the next cell, where you want the employee dropdown. Click Insert > Dropdown, choose Dropdown from a range, and type the range that contains the dynamic employee list returned by the XLOOKUP formula.

Data validation in Google Sheets using dynamically generated list of Sales employees as dropdown values.

Click Done to apply the dependent dropdown.

Dropdown in Google Sheets displaying employees filtered by selected department using dependent data validation.

This setup keeps dropdowns connected and auto-updated based on your selections.

Enforcing character restrictions using REGEXMATCH in data validation

For text that has to follow a pattern, such as an email address at one of the company domains, use REGEXMATCH in a custom formula.

Example:

Suppose you want to restrict entries in the Email column to only accept addresses ending with @salescorp.com, @brandboost.co or @marketlead.net.

Steps to Apply REGEX-Based Validation on the Email Column:

Step 1: Select the range of cells under the Email column in your dataset click on Data in the top menu, and choose Data validation. In the Criteria section, select Custom formula is, and enter the following formula:

=REGEXMATCH(C3,"@(salescorp\.com|brandboost\.co|marketlead\.net)$")

Here is what each parameter means:

  • REGEXMATCH(C3, …): Checks if the value in C3 matches the given pattern.
  • @(salescorp\.com|brandboost\.co|marketlead\.net)$: Ensures the email ends with one of the three domains.
    • | means OR
    • \. escapes the dot, as dots have special meaning in regex
    • $ ensures the email ends with the given domain

Google Sheets data validation rule using REGEXMATCH to allow only email addresses from a specific domain.

Step 2: Click Done to apply the rule. Test it by entering an invalid email, like test@gmail.com, and you’ll get a validation warning.

Invalid email entry flagged in Google Sheets due to data validation rule restricting input to a specific email domain.

Only addresses at the listed domains are accepted. The patterns are explained in the guide to REGEX functions in Google Sheets.

Problems with data validation and how to fix them

Problems with data validation and how to fix them

⚠️ Error: “The data you entered in cell … violates the data validation rules set on this cell.”

✅ Solution: The entry does not meet the rule and the rule is set to reject. Check the value for extra spaces, a number typed as text or an option that is not in the list. If the value should be allowed, edit the rule under Data > Data validation.

⚠️ Error: A cell shows a red corner although nothing was rejected.

✅ Solution: The rule is set to Show a warning, or the value was in the cell before the rule was added. A rule does not clean existing data: fix those cells, or switch the rule to Reject the input for new entries.

⚠️ Error: A custom formula rule accepts or rejects the wrong rows.

✅ Solution: The formula has to refer to the first cell of the range it is applied to. A rule on C3:C100 uses C3, not C2 and not the whole range. For a whole-row condition, fix the column with a dollar sign, as in =$C3>0.

⚠️ Error: A drop-down from a range shows empty or outdated options.

✅ Solution: The range no longer matches the list. Point the rule to the whole column of the helper list, or to a list built with FILTER, so that new options are picked up.

⚠️ Error: The dependent drop-down shows the options of the wrong category.

✅ Solution: The helper formula reads another cell than the one with the first drop-down, or the named range does not match the selected option letter for letter.

Tips for rules that people can live with

Tips for rules that people can live with

  • Add help text. Under Advanced options, write what the cell expects. A rule that rejects input without saying why gets worked around.
  • Reject only where it matters. Use Reject the input for values that feed calculations, and a warning for fields where exceptions are legitimate.
  • Keep option lists in one place. A tab with the lists behind all drop-downs is easier to update than options typed into each rule.
  • Test with wrong values. Before sharing the sheet, try entries that should fail as well as ones that should pass.

Related Google Sheets functions

Functions and features that are often used with data validation, each with its own guide:

  • FILTER: Builds the helper lists behind conditional drop-downs.
  • XLOOKUP: Finds a value and returns the matching row or column.
  • REGEX functions: Pattern rules for text.
  • IMPORTRANGE: Shares a list of allowed values between spreadsheets.
  • IF: Conditions for custom formulas.
  • Remove duplicates: Finds and prevents repeated entries.
  • Slicers: Adds on-sheet filter controls for pivot tables and charts.
  • Exploratory data analysis: Walks through summarising and visualising a dataset before building reports on it.

Validation guards what people type, not what gets pasted in

Validation guards what people type, not what gets pasted in

A validation rule checks entries made by hand. Most of the data in a reporting spreadsheet does not arrive that way: it is exported from a CRM or an ad platform and pasted in by the thousand rows, and no drop-down list stands between that export and the report built on it.

The OWOX Data Marts extension for Google Sheets covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export

What changes for the person who maintains the sheet:

  • Refresh replaces re-export. Refresh current report in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it.
  • The source is written on the sheet. The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
  • No SQL and no warehouse access needed. The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL. The checks on that data, types, allowed values and duplicates, are made there, before the rows reach the sheet, and data validation is left to do its real job on the cells people fill in themselves. The extension comes with the OWOX Cloud plans of OWOX Data Marts; spreadsheet reporting describes both ways data reaches a sheet.

Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

  • No AI hallucinations
  • Analyst-governed definitions
  • Every number traces to SQL
Get started free

FAQ

Frequently Asked Questions

How do I remove or edit data validation in Google Sheets?

Select the cell and open Data > Data validation. Click the rule in the sidebar to edit it, then click Done. To remove it, click Remove rule; Remove all at the bottom of the sidebar deletes every rule on the selected range.

Can I apply multiple data validation rules to a single cell?

Google Sheets only allows one rule per cell, but you can combine multiple conditions in a single custom formula using functions like AND, OR, or IF.

How do I use a custom formula for data validation?

In the data validation sidebar, select “Custom formula is”, under Criteria. Enter your formula starting with =. For example, use =ISNUMBER(A1) to allow only numbers in cell A1.

Why is my data validation not working in Google Sheets?

Check four things: the rule is applied to the right range; a custom formula refers to the first cell of that range; the rule is set to Reject the input and not only to Show a warning; and the value is not an old one that was in the cell before the rule was added, since a rule does not clean existing data.

Can I create a dependent drop-down list in Google Sheets?

Yes, you can use the INDIRECT function or formulas like FILTER to create drop-downs that change based on another cell’s value. This is often used for category and sub-category type selections.

How do I set up data validation in Google Sheets?

Go to Data > Data validation, select the cell or range, choose your criteria (like list, number, or date), and set your preferred rule. Then choose how to handle invalid data—either show a warning or reject the input.

Who wrote this

Vadym Kramarenko

Vadym Kramarenko · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.