The tutorial demonstrates how to create cascading drop down lists in Excel that display choices depending on the value selected in a previous dropdown. Continue reading
by Svetlana Cheusheva, updated on
The tutorial demonstrates how to create cascading drop down lists in Excel that display choices depending on the value selected in a previous dropdown. Continue reading
Comments page 4. Total comments: 329
I have tried to follow the instructions above but am getting an error when I put in the formula for the second drop down(The Source currently evaluates to an error. Do you want to continue?) When I chose a selection in the master list, four out of five selections get no response, but one selection (the second option) then fills in the second drop down with options to choose from.
What may I have overlooked or need to modify in order to get the drop downs to work? Your assistance is greatly appreciated.
Thank You
I am trying to create a dropdown with options that will then change the option in the second dropdown. I have five options in the first dropdown. I at first used the =INDIRECT($B$24) and then changed to =INDIRECT(B24) and finally have used =INDIRECT(SUBSTITUTE(B24," ","")) as my options in the first drop down have spaces. As I mentioned in the first comment, when I enter the formula for the second dropdown it gives me an error message, The Source currently evaluates to an error. Do you want to continue?, and I am unable to see four out of five of the options in the second dropdown. The second option, which I have as Inventory, will show in the second dropdown but not any of the rest. I am trying to have a person choose one of the options in the first dropdown, which will then give them a second list to choose options from. Such as with my Inventory, then gives the additional options of (Click to Select), Initiate Rental Agreement, Develop Inventory Management Plan, Create a Par Level, Create a sign-out sheet, Other. Right now the first dropdown is in cell B24 and the second dropdown is B35 on Sheet 1 and my list are on Sheet 2.
Hello Lin!
Here is what I could understand. You have the first drop-down list in cell B24. It consists of 5 positions. The second drop-down list is on the same sheet in cell B35. It works with the formula = INDIRECT($B$24).
Next you need to create named ranges. Their names exactly match the values from the first drop-down list. This is described in detail in the manual above. Read it carefully. If you do not, then the second drop-down list will not work.
Perhaps this is the cause of the problem.
No sir, it does not work with any of the formulas. Currently only the second option in my first drop-down will bring anything up in the second drop-down. I currently have the formula =INDIRECT(SUBSTITUTE(B24," ","") as my first drop-down consist of Infection Control, Inventory, Procedure or Protocol, Site or Facility Need, Staffing Shortage. As for the named ranges, yes I have created the named ranges to match the names with the space changed to an _, such as for Infection Control the named range is Infection_Control or for Procedure or Protocol as Procedure_or_Protocol.
Hello Lin!
I do not see your data. Therefore, I can’t name the exact reason. However, remember that the names of your items from the drop-down list must exactly match the names of the named ranges. If the name is "Procedure or Protocol", and the named range is "Procedure_or_Protocol" - this is 100% not working.
Good Evening Alexander. If I'm not mistaken a named range can't have spaces, so how do I make the items in the drop-down match exactly with the named ranges. I was of the understanding that the _ represented a space. How else can I make this work? Would it be better for me to send a copy to you to look at the data or is there another option? I appreciate your time and assistance with this matter.
Hello Lin!
Items in the drop-down list must contain _ instead of a space For instance, Procedure_or_Protocol. Your items from the drop-down list must exactly match the names of the named ranges.
I hope this will help
Hello Lin!
I’m sorry but your task is not entirely clear to me.
For me to be able to help you better, please describe your task in more detail. Please let me know in more detail what formula you used and what problem or error occurred. Give an example of the source data and the expected result. It’ll help me understand it better and find a solution for you. Thank you.
Is it possible to create a dropdown menu that will automatically fill column A, B, C & D? Basically, I need to make one selection, and have the first four columns autofill.
Thank you!!!! This was a blessing and helped so much!!!!!
Nice article, but stuck. I have a drop down (master) that needs to change three other cells once you change the drop down.
Ex. Historical list A_L, I_N, X_R, R_T
Hours/tops 174, 47.2, 88.3, 13.2
Metric Type Joy, Rain, Sun, Sad
Source Joy.xls, Rain_GL.xls, Sun_2020.xls, Sad.doc
If Historical List changes A_L to X_R
The other need to go from A_L, 174, Joy, Joy.xls to X_R, 88.3, Sun,Sun_2020.xls
I tried making the first Historical List the primary, and the others customer with a =if(B3=C7:C11,D77:D11,0) where B3 = Cell that changes from any given C7-C11 cells (array) and the D column hours/tops. I didn't continue because that didn't work. I tried various others ways, and I am just frustrated.
Hello Kristy!
I'm sorry, it is not very clear what result you want to get. Could you please describe your task in more detail and send us a small sample workbook with the source data and expected result to support@ablebits.com? Please shorten your tables to 10-20 rows/columns and include the link to your blog comment.
We'll look into your task and try to help.
Thanks Svetlana.. though this article was little bit tricky but i have enjoyed it..
hi, is it possible to show 2 named ranges together using data validation. For example list A list of fruits and list B has list of vegetables. in dependent drop down list. we can get if A1 has fruits then List A, and if A1 has Vegetables then List B.
But if A1 = c , i want to the list of both list A and list B, is it possible to do without creating named range including both list.
A question already asked but I didn't find a response ...
Is there a way to automatically update the exporter cell to the first item in the list once the fruit is selected?
i have a problem that is difficult to explain but may well be very easy to solve, my biggest constraint in what i am trying to achieve is that macro is not allowed to be used as the template i am creating is uploaded into a platform that cant accept macros.
Having said that, this is what i want to do: I am using a dependent dropdown list so when i select a particular cell in (column A) with a list, that selection informs another cell adjacent in Column B (another dropdown list) only certain value is available for selection list. I want now to complicate it further because i want to add another dropdown list in column C with a selection of A, B, C etc and hope that when i select A, B or C it will concatenate the data in column B cell. To explain it better, if i select Column A (fruit) Column B list would contain Apple, Pear, Plum, Orange but what if i want to identify the colour of the fruits i would have the colours available in Column C; red, blue, green and pink, so i want to have the option of adding the colours to the fruits in Column B cell.
Thanks a lot! Great tutorial, especially for dynamic drop down!!
Hello,
I want to have a dependent list based on multiple selections from the first list. How do i make the second list only show values associated with the multiple values in the first?
Example:
1st list is "categories" and you can select multiple answers ("Arts, Business"). 2nd column would provide drop-downs for both "Arts, Business" ("design" (within "arts"), "investing"(within "business").
Another example:
List A
A1 "X"
A2 "X1"
A3
Multi-select A1 and A2
Show values with X and X1 to multi-select.
Hi,
Im trying to create a dependent dropdown where the secondary dropdown elements can come multiple types based on primary selection. Eg: If primary dropdown is Apple, Orange and Grapes and second dropdown is China, Brazil and Australia. If I select Apple - say Australia and Brazil should come and I select Orange it should again populate to China and Australia. Is there any way of doing this as creating a range table for every single dropdown is a tedious task and doesnt work with long dropdowns?
I believe there is an easier way to prevent user from changing the value in the first dropdown after making the selection in the second menu (i.e. to prevent mismatches in choices in the primary and secondary dropdowns), easier than the other tutorial linked and definitely easier than VBA:
You can block changes in the first box (or, at least, force the user to clear the second selection before toggling the first dropdown again): changing the formula for the first drop down to =IF(B2="",fruit_list,INDIRECT("fakerange")), as suggested for the simple formula.
For UX, I added a comment to the B2 column header in my actual working sheet (not my data validation sheet) that says "To change the fruit of a line item, first clear the selection in column C by selecting the 'Exporter' chosen, then hit 'delete'". That way, you prevent mismatches, allow the flexibility for changes, empower the user to work autonomously, AND simplify your work considerably. It won't work in EVERY circumstance, but in most, I think this is a much simpler solution.
scrolling toolbar is quite obnoxious. copied/pasted the text I wanted to Word and then went elsewhere. seriously...
what if I have like 3 in the first list, 8 in the second list and 5 in the last list
BUT
I have around 705 total projects
will I need to create a 3x8x5x705= 84 600 data in total for it to work?
I can't even pay attention to the content of the article because of the scrolling ad at the bottom of the screen that makes me nauseous.
Hi, I am having an issue in indirect function. I have used name range method and the drop down works to pick up value from the the list. It works and drop-down list show correctist for first row. When I copy down the rows with fuction for entry, the drop-down does not give the correct referenced list and show list from one row above of the actual referenced cell.
=INDIRECT($A$2). It should pick actually from row 3 which is like =INDIRECT($A$3)
Grateful if anyone can help me on it.
Thanks alot
Michel
Hi Michel,
Using $ ties the indirect function to that cell alone
instead Use =INDIRECT(A2) and you can then copy down for the next few rows with no issues.
Hi, I have created one spreadsheet, where I am selecting employee ID and based on the employee ID all the data will get populated in other cells. I want to clear all cell value if I change the employee ID. Can any of you help me to get it done.
Thanks in advance
I am trying to create a spreadsheet that allows me to choose a Job Number and then, from the job number selected, will allow me to choose a Phase code specific to that job.
I am running into erros every time i input the =INDIRECT(A2) data validation and can't get past it.
it is very hard for me to get my Job Number to be corresponding with the Phase codes.
This was super helpful. Thank you so much!
Great Article - Thanks!
Thank You for the article!!
Hey,
I was just wondering how I could add a third dynamic cascading drop-down, based on options that show up in the second drop-down.
Thanks
Hi,
How would you set this up by having attributes running on rows rather than over columns. The dropdowns need to run for new rows added.
Regards
Hello,
I have two questions:
-I followed the "Exclude blank rows from the dynamic cascading dropdown" instructions and I don't have blanks, but the title/header is in my second dropdown box. Is there a way to not have it?
-I am also working with 5 variables. Is there a way to reference a complete table for each dropdown? Or do I have to make independent lists for everything?
Thank you!
Say we have 2 Cells C7 & D7 each have a Data Validation. Well if we change the value of the Cell in the C7 then the Value of the Cell D7 should also Change according to the corresponding List of C7 or turn blank. But the value of D7 always remain the previous value of Data Validation changed in C7. We have to Change D7 manually later after changing C7. Can it be possible without VB.
Hi,
I have a table in which I wish to use each column to restrict the choices for the next column, which restricts the choices for the next column, and so on. A lot of the information in each column is repeated, rather than being unique values as listed here. Can you possibly help with this?
I have a table containing first two columns having two indipendent drop-down lists. I like to have a drop-down list in the third column depending on the values of the first two cells.
Please advice.
I made for myself a simpler 2 step solution for detecting primary and secondary dropdowns that mismatch due to changing primary after secondary has been selected:
Step 1: start primary and secondary choices with matching numbers i.e., primary choices 1 - Apricot, 2 - Mango, 3 - Oranges; secondary example 2.1 - Philippines.
Step 2: Use conditional formatting to make the secondary choice cell change color (say turn bright red) if first left digit of primary not equal to first left digit of secondary, i.e. 3 - Oranges with 2.1 - Philippines, 3 ≠ 2, secondary choice cell's background turns red.
We can also use conditional cell formatting to show a glaringly different color if no choices have been made yet.
Jossy
Thanks for this post, this is a really interesting approach. I use Excel tables and pivot tables quite often, and so a cascaded dropdown set would be most useful as the validation for a pair of table columns.
So as an example, say I had a second table to collect fruit inspections with columns:
Inspection Number | Fruit Observed | Country of Origin | Inspection Result
I'd like to put the Fruit dropdown in the Fruit Observed, and have that cascade to the Country of Origin field on the same row.
Is this feasible?
Jeff
totally awesome! Thanks a lot for this article
Great article .. good explanation and easy to follow instructions.
While the cascading dropdowns works well without VB, it has one major drawback !
One is NOT able to enter a new value from dropdown, until all sub categories( dependant dropdowns) are cleared.
However one is ABLE to delete or paste a new value, which is a real pity.
Would be nice if that loophole could be blocked.
Got it working, removed the spaces flanking the colon in the subgroup_list2 formula!
Great article! Helped a lot!
I thoroughly enjoyed this tutorial, thank you so much for the time and effort it surely took to create!
I did run into an issue with the "dynamic cascading dropdowns with no blanks".
When I enter the ..._list2 Source in the Data Validation window I get a message stating the Source evaluates to an error. My list uses groups and subgroups rather than fruit and exporters.
Here are the extra names I created for the no blanks formulae:
subgroup_list2 =INDEX(groups_tbl,1,col_num) : INDEX(groups_tbl,COUNTA(entire_col),col_num)
col_num =MATCH(group,group_list,0)
entire_col =INDEX(groups_tbl,,col_num)
Kind regards
HiSvetlana Cheusheva
You are genius. Thanx a lot for such a wonderful topic in excel. I love excel.
Hello Dear,
I create a drop down list of 3 steps. Which are thana, market & outlet. I could complete it 2 steps but can't complete last step, means when I click thana it shows his market what I setup but when I Click market it doesn't show his outlet. How do I solve this?
Hello,
if I understand your task correctly, it looks like you forget to create the third drop down list. Or did something wrong when creating one.
Please take a closer look at the fifth point of the article above - 5. Add a third dependent drop-down list (optional). I kindly ask you to follow the instructions described there.
If this doesn't help, I'm afraid we will need more details on your task, lists for drop down, etc.
Hi,
I need some help.
Turkey is a common exporters, how could I do to add a third drop down list based on the exporters?
For eg, Mango> Turkey> northern Turkey / southern turkey
apricot> turkey> central turkey / northern turkey
such that, central turkey is not a option for mango
how and what should i do such that third drop down list is dependent on the second drop down list?
Kindly assist
Thank you
Hello,
please take a closer look at the point of the article above saying Add a third dependent drop-down list (optional). There's a tutorial with example pictures that should help :)
Hi Natalia,
I understand on the Add a third dependent drop-down list, however, my problem is 'Turkey' is a repetition. I have a issue such that, if I select Mango> Turkey> I only want 2 choice either North/South. And if I select Apricot > Turkey> I only want 2 choice either North/Central.
Because 'Turkey' is a repetition as a dependent list, I could not link the 3 dependent list
Please assist what can be done
Hi,
could you please send us a small example workbook to support@ablebits.com with the link to this comment?
Please don't worry if you have confidential information there, we never disclose the data we get from our customers and delete it as soon as the problem is resolved. Or you can replace any important information with some irrelevant data, just keep the format.
We'll look into your task and try to help.
Hello everyone.
I am having trouble finding an error in a drop-down dependent worksheet I have created.
My worksheet is formatted so that a user would select in column B one of 6 choices. This is working as intended.
In the next column, C (to the right), a drop-down box with three different choices dependent on the selection in column B should populate. I intended for this process to be copied exactly the same way in the rows beneath.
The first cell available in my worksheet for the first choice is B8. The cell next to it with the drop-down dependent selection is C8. This is actually working.
In the rows beneath this, column B is working correctly. The error I cant find is that, say you select a different choice in column B below B8, the dependent drop-down boxes in the rest of column C only show the choices for B8's options. Its as if the entire column C is only checking B8 for the dependent drop downs.
Here are all the formulas I am using:
category_list: =INDEX(standards_tbl,,MATCH(standard,standards_list,0))
Print_Area: ='Standards Journal'!$A$1:$D$26
standard: ='Standards Journal'!$B$8
standards_list: =standards_tbl[#Headers]
standards_tbl: =Sheet2!$b$3:$G$5
I have tried updating the "standard" formula to include the entirety of column B but this doesn't seem to fix the issue.
Any ideas what I am doing wrong?
Please help!!!
I want to extract the list(data validation) from the data as below. First lookup the PO# and then create a list of corresponding distinct values. First column named as "PO#" and the second column is "Category".
PO# Category
KIPS/IT/01 CPU
KIPS/IT/01 LCD
KIPS/IT/01 LCD
KIPS/IT/02 Cable
KIPS/IT/02 CPU
KIPS/IT/02 LCD
KIPS/IT/03 Connector
KIPS/IT/04 CPU
KIPS/IT/04 LCD
KIPS/IT/04 Cable
KIPS/IT/04 Connector
KIPS/IT/04 Mouse
KIPS/IT/05 CPU
KIPS/IT/05 LCD
KIPS/IT/05 Cable
KIPS/IT/06 CPU
KIPS/IT/06 LCD
KIPS/IT/06 Cable
KIPS/IT/06 Connector
KIPS/IT/06 Mouse
KIPS/IT/07 Webcam
KIPS/IT/07 Toner
KIPS/IT/07 Miscellaneous
how to put these conditions
E5>1 AND G5>1 THEN YES OTHERWISE NO
IF E52 THEN YES OTHERWISE NO
Hello, Tannu,
I believe the IF function together with AND can help. Please tale a look at the article explaining how they works here.
Hey All,
I am tryig to develop 30 lines in which the user of the excel file can put only certain predefined values. Dependent drop-down lists seem to be a workable solution, but due to structure and dynamics of the data base I cannot apply any of the formulas/codes so far. I am much obliged or any help. Here it is the back ground
I have a database in a worksheet where:
- in column A is list of all producer; and
- in column B next to the producer's name is included list with this producer's products Products are listed in column B and ocupy 3 to 7 cells from column B
- 1 row contains always only 1 cell with value inside. Either in column A is the name of the producer, or in column B is a product, which is produced by this producer.
By way of example:
- Row 1 is for headings;
- A2 - Producer1;
- B3 - Product1, B4 - Product2, B5 - Product3
- A6 - Producer2;
- B7 - ProductX, B8 - ProductY, B9 - ProductZ
etc.
Could someone please help?
What would you do if your "fruit" was listed in the first column of your table instead of your table headers?
For example:
Fruit: Country:
Apricot Algeria
Apricot Iran
Apricot Pakistan
Apricot Turkey
Ive used your index match method, but placed the match function in the "rows" instead of "columns". However, my drop down list for Country that is based on my Fruit selection is only returning the 1st result. In the example above it would only return Algeria instead of a drop down list of Algeria:Turkey.
Actually, figured out a solution using a similar approach to your remove blank cells approach "=INDEX(exporters_tbl,1,col_num) : INDEX(exporters_tbl, COUNTA(entire_col), col_num)"
I use the above to return the 1st row where the chosen country appears and the last row where the chosen country appears.
Hi Kevin,
I have the same requirement as yours where i have the values in 2 columns instead of table headers; Can you please help me with the formula to be used for 2nd dropdown when i select a value in the 1st dropdown.
I have two drop down lists in two different sheets of the same workbook. When I change the value in one dropdown, the other dropdown also should display the same value in the second sheet and when I change value in the second sheet the first one also should change to the same value. Both of the lists contain the same values.How can I do that? Would you help me please? VBA macro would be better for me.
Hello,
I have successfully created multiple drop down lists for 12 different categories each having 5 options/choices. I used an index-match function to create scores for each category based on what was chosen and then added all categories to receive a total score. My problem is I can't find a of being able to have another drop down list with the customer name where when you select any customer their scores and selections in the other drop down lists would automatically appear/save.
Thanks!
I have successfully used the example for Dynamic dropdown menus (thank you) and I would like to know if is possible to adapt to fill-in a table with X-Y range of cells where the selection may applied for for any of these cells. So far I can only make it working for rows or columns (take off the "$") in the reference cell setup (fruit in your example).
Many thanks
Hi!
Thanks for the usefull information. This explanation is awesome when using just one dependent dropdown. However, I'm working on a sheet with multiple dependent dropdown (B1 is dependent on A1, C1 is dependent on A1 and B1, D1 is dependent on A1, B1 and C1,....
Any advice on how I should do this?
Thanks a lot!
How do you create a dependent drop down list for text with space and character such as "/" or "&"?
Hi terry, Please help me, In datavalidation dropdown list which is open by click on mouse but I want to open dropdown list when we select, datavalidation list shouldbe show the option, thank you.
Course| Trainer|Date|Start time|End Time|Duration|Outcome|Notes
for example the above are rows, is it possible if i select course and it give me all the details horizontally? for example In the Course section I select Employee training, and it give me trainer name, date of training, start time etc?
Hi, this post is really awesome. I have 2 questions:
1. Is there a way to reference the INDIRECT formula to another workbook? This means all my data lists for the dropdown boxes are in a different workbook. Is this possible?
2. For the dynamic dropdown with no blanks, is there a way to make it work when the cells are not truly blank? Meaning, they have formulas in them but do not return results so there's no display in the cell but it's not technically blank.
I've been stuck with these for days.
THANK YOU SO MUCH!!!
Hello, Kai,
1. yes, there's a way to reference another workbook for dropdown lists. Please, look at these example pics;
2. replace Named range counta(entire_col) with ROWS(entire_col)-COUNTBLANK(entire_col) in your formulas.
For more details go here