Data Validation Using Double Dependent Dropdown List – LibreOffice Calc

This tutorial would explain how to create dependent dropdown list in LibreOffice Calc.

In the earlier article, a single dropdown list is explained with data populated from a range inside the sheet. If you are new to dropdown lists data validation, you may read this first.

Data Setup

Say we have two lists containing values of their respective categories like this.

  • Colors
  • Planets


We will have the first dropdown which lists the categories i.e. Colors and Planets.
Based on what user choose in first dropdown, we want to fill the second dropdown with the list of items of the respective chosen dropdown.

I.e. If you choose Planets, the second dropdown would show a list of planets, instead of list of colors and vice versa.

Data Setup for Dependent Dropdown
Data Setup for Dependent Dropdown


  • Select the categories i.e. A1 and B1. Then from menu, select Sheet -> Named ranges and expressions -> Define.
define named ranges-1
define named ranges-1
  • Put name as category1. Click Add.

  • Likewise, select A2 to B6 and add named range as category2.

  • Select E1 and from menu select Data -> Validity.
    In the validity window, choose Allow=Cell range and put category1 as source. Press OK.

  • Select E2 and from menu select Data -> Validity.
    In the validity window, choose Allow=Cell range and put below as source, then press OK.


  • Now, click on the small dropdown in E1 cell, you can see category1 i.e. colors and planets would be listed from A1:B1 cells.

  • Select Planets.
  • Now click E2 dropdown, you can see only planets values are loaded in this dropdown depending on the value of E1.

  • Go back to E1 dropdown and select Colors. And likewise open up the E2 dropdown. You can see, it contains the colors values dependent on the E1 value.

So this is how you can create dependent dropdown in LibreOffice Calc.

Explanation of INDEX and MATCH in second validation


MATCH : It returns the relative position of the value selected in E1 after searching in category1 range (A1:B1). Last argument 0 – denotes it would look for exact match.

INDEX: returns the subset of a nXn range from reference category2 based on row and column number. The second argument is row (which is omitted here as values are present in columns) and third argument is column number.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate ยป