在Excel中使用有条件的命名范围

让我再试一次,我一直在网上search,似乎无法find任何东西。 我想要做的是在Excel中有一个基于另一个单元格的值有条件的命名范围列表。 当我设置数据validation并将所有IF语句放在源文本框中时,我遇到的字符限制问题。 如果我只是把两个条件,似乎工作正常,但这不会对我工作。 这里是我的示例数据,基于B列值我想要显示它的有效子项。 就像我刚才提到的那样,我有20多个不同的可能值,可能在B列。

BC 1 ENG dropdown of all engineering sub-categories 2 PRO dropdown of all production sub-categories 3 PER ... 4 PAY 5 ENG dropdown of all engineering sub-categories 6 ENG dropdown of all engineering sub-categories 

当我尝试在列C1上设置我的数据validation列表时,我放入以下内容…

 =IF($E$5="CAR", CA, IF($E$5="DCC", DCC, IF($E$5="ENG", ENG, IF$E$5="ENV", ENV, IF$E$5="FBI", BI, IF$E$5="FGL", GL, IF$E$5="FAP", AP, IF$E$5="FRE", AR, IF$E$5="FTX", Tax, IF$E$5="ORM", OAR, IF$E$5="PAY", PAY, IF$E$5="PIR", PER, IF$E$5="PRO", PRO, IF$E$5="PUR", PUR, IF$E$5="RSK", RM, IF$E$5="SLM", Sales, IF$E$5="WFS", WAR))))))))))))))))) 

我只能input我的IF条件的一半。 我尝试了VLOOKUP,但只允许将1个值放在列C中,我希望它是一个下拉菜单。 任何帮助都会受到很大的困扰。

您可以通过结合VLOOKUPINDIRECT以更短的公式完成此操作:

你有列B中潜在的名字和他们相应的范围名称在两列的某处,例如列X和Y:

 Col X Col Y
汽车CA
 DCC DCC
 ENG ENG
 ENV ENV
 FBI BI
 ...

然后使用以下公式作为数据validation中列表的来源:

 = INDIRECT(VLOOKUP($ E $ 5,$ X:$ Y,2,0))

实际上,通过这种方法,您甚至可以节省命名和维护手动范围名称的工作量! 相反,只需将名称范围的名称replace为实际地址即可 – 您可以自动导出一个运气和智能公式工程。 这取决于你的数据结构,但最有可能的functionADDRESSCOUNTAOFFSETINDEXMATCH将有所帮助。

例如,如果您的列表将被存储在另一个工作表中,并且列表的名称在第一行以及每个标题下面列出的元素,则此示例文件将为您提供示例公式。 更进一步,它还会使用条件高亮来标记任何无效的条目,例如,因为在select之后更改了types:

在这里输入图像说明