How do I create a dynamic drop down list in Excel?
Smart Dependent Drop-Down Lists in Excel:
Expandable & Excluding Blank Cells
In situations where the contents of a drop-down list are frequently changing, its helpful to have a dynamic drop-down list that can automatically expand, as well as exclude any blank cells in the cell references.
This example uses the sample data of App names for three divisions: Productivity, Games, and Utility.
The drop-down list should display App names based on the Division selected by the user.
Adding data validation for Division
Add data validation to a selected cell.
Go to Data > Data Validation symbol.
Under Validation Criteria, select List.
For the Source, do a cell reference to the Division names, which are the table headers (cell A4:C4).
If set up correctly, it should display as follows:
Method 1: Using OFFSET() to create a dynamic drop-down list
Setup formula for the data validation
Whenever a formula is to be used as a data validation criteria, it is usually easier to first set the formula up on the spreadsheet, then transfer it to the data validation window so that all the Excel helper tips show up as guides.
The OFFSET() formula has the syntax:
= OFFSET(reference, rows, cols, [height], [width])
- reference = starting point, $A$4
- rows = how many rows going down until the first value to be used. In this case, since we want to start one row below the header, we input 1
- cols = how many columns to the right until the first value to be used. In this case, this is dependent on the selected Division by the user. A MATCH() formula comes in handy since it returns a number:
MATCH(lookup_value), lookup_array, [match_type])
- lookup_value = source, $F$4
- lookup_array = where the lookup will be done, $A$4:$C$4
- match_type = 0 for exact match
It now becomes: MATCH($F$4,$A$4:$C$4,0)
However, this cant be used as is since the return value of the MATCH() function will be 1, 2, or 3 depending on the selected division.
What this means is that when the Productivity division is selected, the MATCH() function returns a 1, which tells the OFFSET() function to move one column to the right instead of staying in column A.
To fix this, a correction is made by deducting 1 from the MATCH() function.
The col parameter now becomes:
MATCH($F$4,$A$4:$C$4,0)-1
- [height] = how many rows will be included. This should correspond to the number of apps listed for each division and be dynamic to expand and contract. The COUNTA() function comes in handy since it counts cells with numbers or text.
COUNTA(value1, [value2], )
However, since the cell reference changes depending on the division selected by the user, another function should be introduced.
The OFFSET() function can also be used here.
OFFSET(reference, rows, cols, [height], [width])
- reference = starting point, $A$4
- rows = how many rows going down until the first value, 1
- cols = how many rows to the right until the first value to be used. This will again depend on the division selected. The same MATCH() function will be used here:
MATCH($F$4,$A$4:$C$4,0)-1
- [height] = how many rows will be displayed. Use a bigger height than what is expected to make sure additional cells are taken account of. An arbitrary number 20 is used for this example, which should be sufficient. This value can be changed later on.
- [width] = how many columns will be included, 1
This now becomes:
COUNTA(OFFSET($A$4, 1, MATCH($F$4, $A$4:$C$4,0)-1, 20, 1))
- [width] = how many columns will be included. Since we only need one column, set this as 1.
The final formula now becomes:
=OFFSET($A$4, 1, MATCH($F$4, $A$4:$C$4,0)-1, COUNTA(OFFSET($A$4, 1, MATCH($F$4, $A$4:$C$4,0)-1, 20, 1)),1,)
A single value will be displayed in the cell.
However, the formula actually returns an array and is unable to display all the values on a single cell.
To view the entire array, click inside the formula bar and press F9.
Press CTRL + Z again to undo.
Adding data validation for App names
Copy the entire formula.
Add data validation criteria to cell F5 through Data > Data validation.
Under validation criteria, select List.
Paste the formula to the source text box.
Method 2: Using table referencing to create a dynamic drop-down list
Convert data table into Excel tables
Instead of converting the entire data table as one Excel table, convert it into 3 Excel tables.
To do this, highlight each data column (CTRL + SHIFT + DOWN when selecting the header).
Press CTRL + T.
Double check if the cell referencing is correct.
Tick the box to indicate that the table has headers.
Change the table name to the division name.
In this example, we use TableProd.
Do the same for the Games and Utility columns and rename them to TableGame and TableUtility.
Setup formula for data validation criteria
The INDEX() formula can be used to make sure the correct Table is used as reference.
There are two syntax options for INDEX().
The second option will be used.
INDEX(reference, row_num, [column_num], [area_num])
- reference = instead of selecting an array of cells, the tables should be selected. To do this, hover over the header until a black arrow shows up.
Selecting it should now display the table name with the column name in square brackets: TableProd[Productivity].
Select the other 2 columns in the same manner and enclose all 3 in parenthesis.
This now becomes:
(TableProd[Productivity],TableGame[Games], TableUtility[Utility])
- row_num = how many rows going down will be included. Since all rows should be included, skip this argument by using a comma.
- [column_num] = how many columns will be included. Since there is only one column for each table, there is no need to specify the column number. Skip this argument by using a comma.
- [area_num] = how many areas to move. This can be dictated by a MATCH() formula.
MATCH($F$4,$A$4:$C$4,0)
The final formula now becomes:
=INDEX((TableProd[Productivity],TableGame[Games],TableUtility[Utility]),,,MATCH($F$4,$A$4:$C$4,0))
Similar to method 1, a single value will be displayed on the cell.
However, the formula actually returns an array.
To view the entire array, click inside the formula bar and press F9.
Adding data validation for App names
Copy the entire formula.
Add data validation criteria to cell F5 through Data > Data validation.
Under validation criteria, select List.
Paste the formula to the source text box.
You might receive a message box indicating a problem with the formula.
This is because data validation is unable to use this type of table referencing.
To remedy this, paste this formula in Name Manager.
This is found under Formulas > Name Manager.
The Name Manager will pop up and display the three tables.
Click on New.
Give the formula a new name and paste the formula in the last text box.
It should now show up on the list.
Go back to Data Validation.
Under validation criteria, select List.
For the source, write the name of the formula.
If you have forgotten the name of the formula you have recently added to Name Manager, press F3.
If set up correctly, it should now display the App Names in the dropdown list.
Video and Workbook
Feel free to Download the Workbook HERE.
Excel Dashboards that Inform & Impress
Use these techniques in your own reports
Unbeatable value!
Video liên quan
Bài đăng phổ biến
-
Như chúng ta cũng biết, chiếc điện thoại từ lâu đã trở thành một vật bất ly thân trong đời sống xã hội ngày nay. Để tiện cho công việc cũng ...
-
Công Thức Chế Tạo Đồ Trong Minecraft 1.16.4 Các công thức chế tạo đồ cơ bản Items Nguyên liệu Cách chế tạo Công dụng GỗThân gỗ Xây dựng nhà ...
-
HÌNH THỨC GÕ ĐỆM KHI HÁT CÁC CA KHÚC CHO TRẺ MẦM NON VÀ CÁCH HƯỚNG DẪN SINH VIÊN THỰC HÀNH HIỆU QUẢ Âm nhạc là một trong những hoạt động ...
-
The worst song in Eurovision came in first and the best came second to last . How stupid! Bài hát tệ nhất ở Eurovision đứng đầu và bài hát...
-
Đáy của hình lăng trụ đứng tam giác ABC.A'B'C' là tam giác đều cạnh bằng 4 . Tính khoảng cách giữa hai đường thẳng AA' và BC...
-
Trong bài viết dưới đây Taimienphi.vn sẽ hướng dẫn bạn cách để đổi màu áo, quần bằng Photoshop . Thủ thuật đổi màu ...
-
Bạn đã đặt trước thứ gì đó nhưng bây giờ bạn đang suy nghĩ lại? Bạn đã thay đổi ý định về một bộ phim hoặc album nhạc mà bạn đã đặ...
-
Chất Kết Tủa Là Gì ? Công Thức Hóa Học Chất Kết Tủa admin November 28, 2019 Tin Tức Comments Off on Chất Kết Tủa Là Gì ? Công Thức Hóa ...
-
IC là một loại linh kiện không thể thiếu trong bất cứ mạch điện tử nào, vậy IC là gì? Cầu tạo và chức năng là gì? IC là gì? IC tiếng anh là ...
-
Nếu bạn đang tò mò không biết crush nào hay người bạn bí mật nào đang theo dõi facebook của bạn âm thầm nhưng không biết cách tìm ra đối tượ...
Danh sách Blog của Tôi
Labels
- Android
- Apple
- Bài tập
- Bàn phím
- Bánh
- Bao lâu
- Bao nhiêu
- Bí quyết
- Cách
- Chia sẻ
- Chuột
- Có nên
- Công Nghệ
- Công thức
- Cpu
- Cryto
- Danh sách
- Dịch
- Đại học
- Đánh giá
- Đẹp
- Eth
- File
- Film
- Gái
- Game
- Giá
- Giá bán
- Giá rẻ
- Giới Tính
- Gpu
- Gym
- Học
- Học Tốt
- Hỏi Đáp
- Hướng dẫn
- Ios
- Ipad
- Iphone
- Khoa Học
- Khỏe
- Khỏe Đẹp
- Kinh nghiệm
- Là gì
- Làm sao
- Laptop
- Lg
- List
- Macbook
- Màn hình
- Máy
- Máy tính
- Mẹo
- Mẹo Hay
- Món
- Món Ngon
- Mua Sắm
- Nấu
- Ngân hà
- Nghĩa là gì
- Nghiên cứu
- Ngoại ngữ
- Ngôn ngữ
- Nhà
- Ở đâu
- Phát minh
- Phân tích
- Phim
- Phụ nữ
- Phương pháp
- Phương trình
- Review
- Sách
- Samsung
- Sáng kiến
- So sánh
- Son
- Tại sao
- Thể dục
- Thế nào
- Thị trường
- Thịt
- Thuốc
- Tiếng anh
- Tiếng hàn
- Tiếng trung
- Top
- Top List
- Tốt nhất
- Trade
- Trai
- Trái đất
- Trò chơi
- Trường lớp
- Váy
- Vì sao
- Xây
- Xây Đựng
0 nhận xét: