【问题标题】:Conditional Data Validation in Google Sheets, limit second drop-down based on first drop-downGoogle表格中的条件数据验证,基于第一个下拉列表限制第二个下拉列表
【发布时间】:2020-12-16 21:01:04
【问题描述】:

我想在下拉列表中选择一个类别,然后将该行中的下一个下拉列表限制为仅在该类别中的项目,然后查找该项目的值并从数据表中显示它。如果可能的话,我宁愿避免编写脚本。我发誓我以前做过,但也许是在 Excel 中...

我有一个表,其中第一列代表类别,第二列代表项目。类别是非唯一的,项目是唯一的。我想要一个“选择”表,其中第一列从数据的第一列中的可用类别中选择,第二列从数据表中第 1 列中具有该类别的项目中选择。图片显示所需的最终结果,但手动设置。我如何使这种情况动态发生?在这种情况下,我不能将“A、B、C”的标题包含在下面列出的项目中,因为每个项目都有自己的值,将在选择区域的第三列中进行查找。


在选择区域,第一列选择了“A”,因此第二个下拉选项只有“Z”、“X”和“Y”。


在选择区域,第一个条目现在选择了“B”,因此第二个下拉选项只有“W”和“V”。

【问题讨论】:

    标签: validation google-sheets


    【解决方案1】:

    您可以结合使用named ranges=INDIRECT()

    工作流程:

    • 继续 Data -> Named ranges 并在 B 列中创建与 A 列的每个不同值相对应的命名范围



    • 在 E 列中,使用 A 列作为范围创建数据验证
    • 选择一个虚拟列(例如D)并粘贴公式=INDIRECT(E1) - 这将在此列中显示属于在列E 中选择的命名范围的数据
    • F 列中创建第二个验证,将D 列为范围
    • 这将导致依赖下拉列表 - 您可以将辅助列 D 设置为隐藏。

    【讨论】:

    • 这太棒了,谢谢。不过,有没有办法动态地做到这一点?如果我使用现有类别将新条目添加到底部,则命名范围方法将不起作用。使用此方法并尝试保持动态,我是否需要第二个数据集,其中每个类别在一列中有一个项目列表,而不是一个数据集,其中一列是类别,一列是项目,一列是值?我想我可以删除数据表中的类别。另外,您不能在不需要另一个隐藏列的情况下在数据验证中使用=INDIRECT() 吗?
    • 对于更动态的方法,恐怕你不会绕过一个简单的脚本。
    • 谢谢,我要么研究一下脚本,要么回到 Excel。
    • 看看here
    猜你喜欢
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 2014-11-16
    • 2023-03-14
    • 2021-08-19
    • 1970-01-01
    相关资源
    最近更新 更多