希望有人能帮忙解决这个问题?
我的数据输入选项卡(工作表 1)上有一个表格,其中每行包含两个数据验证下拉列表(源在工作表 2 上)。我希望第二个下拉列表(k13)中的选项取决于第一个下拉列表(g13)中选择的内容...
即,如果您在第一个下拉框中选择“日记”,那么第二个下拉框中只会有“奶酪”、“牛奶”和“酸奶” - 同样,如果您在第一个框中选择“水果” - 我希望只有特定于工作表 2 上的查找表中该类别列的选项可用(在本例中为“苹果”、“梨”和“香蕉”)?
请帮忙 - 我认为这是一个 vlookup 间接公式??
答案1
我会将此作为评论,但信息可能会丢失。您正在寻找依赖验证。这一页有一些很好的信息。我引用一下:
打开一个新的工作簿,在 Sheet1 的 A1:D1 单元格中输入以下标题:昂贵的汽车、城市、名称、国家
现在在这些标题下放置一些相关条目,直到第 5 行。现在选择 A1:D1,单击名称框(公式栏左侧)输入名称:List1 并按 Enter。现在选择 A1:D5(或最长列表的最后一行)并转到Insert>Name>Create
。确保仅选中“顶行”,然后单击确定。如果您现在返回名称框,您将看到 5 个命名范围。请注意 Excel 如何将下划线用于“Expensive_Cars”。这是因为命名范围不能有空格。
现在单击 Sheet2 并选择单元格 A1。转到数据 > 验证,选择“列表”选项,然后在源框中键入:=List1。确保选中“单元格内下拉列表”,然后单击确定。现在选择单元格 A2,再次转到数据 > 验证,选择“列表”选项,然后=INDIRECT(SUBSTITUTE($A$1," ","_"))
在源框中键入:。确保选中“单元格内下拉列表”,然后单击确定。
现在从单元格 A1 中选择一个列表,您将在单元格 A2 中获得相应的列表。
笔记
- 通常,验证列表不能引用另一个工作表中的列表。可以通过命名列表并使用其名称而非地址来解决这个问题。
- 该
INDIRECT
函数返回文本字符串返回的引用。这意味着,A2 中的验证列表不会将 A1 的内容视为文本字符串,而是将其视为范围名称。 - 该
SUBSTITUTE
函数用于将 A1 文本中的任何空格替换为下划线。当 List1 中有以下项目时,这一点至关重要:昂贵的汽车。