让我再试一次,我一直在网上搜索,似乎找不到任何东西。我正在尝试做的是在excel中根据另一个单元格的值有一个命名范围列表条件的bunc。当我设置数据验证并将所有IF语句放在源文本框中时,我遇到的问题是字符限制。如果我只是提出两个条件似乎工作正常,但这对我不起作用。这是我的示例数据,基于B列值,我想为它显示有效的子项。就像我提到的那样,我有20个左右可能的值可能在B列中。
B C
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列上设置数据验证列表时,我输入以下内容......
=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)))))))))))))))))
我只能键入一半的IF情况。我尝试了VLOOKUP,但只允许将1个值放在C列中,我希望它是一个下拉列表。任何帮助都会被大量包含。
答案 0 :(得分:3)
通过合并VLOOKUP
和INDIRECT
,您可以在更短的公式中执行此操作:
列出B列中的潜在名称及其相应的范围名称,分别列在两列中,例如:专栏X& Y:
Col X Col Y CAR CA DCC DCC ENG ENG ENV ENV FBI BI ...
然后使用以下公式作为数据验证中列表的来源:
=INDIRECT(VLOOKUP($E$5,$X:$Y,2,0))
实际上,通过这种方法,您甚至可以节省命名和维护手动范围名称的工作量!相反,只需用真实地址替换命名范围的名称 - 通过运气和智能公式工程 - 您可以自动导出。这取决于您的数据结构,但很可能函数ADDRESS
,COUNTA
,OFFSET
,INDEX
和MATCH
会有所帮助。
E.g。如果您的列表将存储在另一个工作表中,并且第一行中列表的名称和每个标题下面列出的元素,this example file将为您提供示例公式。更进一步,它还将使用条件突出显示来标记任何无效的条目,例如:因为选择后类型已更改: