【问题标题】:xls cascading lookup based on pivot table style datasource?基于数据透视表样式数据源的 xls 级联查找?
【发布时间】:2009-03-24 10:53:29
【问题描述】:

假设数据集看起来像

Country Region  Product
UK  North   fdhlw46
UK  North   fdhlw47
UK  North   fdhlw48
UK  North   fdhlw49
UK  North   fdhlw50
UK  South   fdhlw51
UK  South   fdhlw52
UK  South   fdhlw53
UK  South   fdhlw54
UK  South   fdhlw55
UK  South   fdhlw56
UK  South   fdhlw57
UK  West    fdhlw58
UK  West    fdhlw59
UK  West    fdhlw60
UK  London  fdhlw61
UK  London  fdhlw62
USA New York    fdhlw63
USA New York    fdhlw64
USA New York    fdhlw65
USA New York    fdhlw66
USA Chicago fdhlw67
USA Chicago fdhlw68
USA Chicago fdhlw69
USA Chicago fdhlw70
USA LA  fdhlw71
USA LA  fdhlw72
USA LA  fdhlw73
USA LA  fdhlw74
USA LA  fdhlw75

如何在 Excel 中获得用户选择的级联下拉列表/选择列表、国家/地区,然后再缩小到地区和最终产品?

到目前为止,我只有一个名为“国家”的范围,然后我可以“数据 - 验证 - 来源:= 国家”,但这只会给我第一个值,它不会删除重复项

【问题讨论】:

    标签: excel xls cascadingdropdown


    【解决方案1】:

    http://www.contextures.com/xlDataVal13.html

    这种方法确实意味着为每个分组定义一组唯一的值,但这很简单。

    感谢其他想法。

    【讨论】:

      【解决方案2】:

      选择范围,然后选择数据 -> 过滤器 -> 自动过滤器。这是否达到了您的要求?

      【讨论】:

      • 不,因为我要在多行上提供解决方案,以便用户可以向下钻取一行的数据,然后继续下一行
      【解决方案3】:

      我认为您想使用 INDIRECT 函数来查找单元格的值,而不是直接在数据验证中定义查找范围。看看this page,它解释得很好。

      请注意,尽管像这样的多个级联验证有其自身的特殊问题。主要是,如果您进行第二次(或第三次等)选择,然后返回并编辑第一个选择,则没有自动标志表明选择现在可能无效。例如,如果您有以下情况:

      类型详细信息
      水果苹果

      ...然后更改第一列:

      类型详细信息
      蔬菜苹果

      ...那么您现在可能遇到了问题。发现这种不一致可能非常困难,或者需要一些代码来突出显示/修复。 DDoE 博客展示了一种使用条件格式突出显示此类错误的方法,但这种方法的计算量很大并且不能很好地扩展。

      请注意,如果随意使用这种性质的多次查找,即使不使用条件格式,也会使工作簿瘫痪。

      总而言之,对于一个数据输入受到严格控制的小型项目,这是一种级联下拉列表的灵活方法,但如果您对用户几乎没有控制权,或者如果收集的数据将超过数百行那么您可能希望查看使用 VBA 验证验证(!),或者只是全力以赴并通过用户表单强制输入,这是迄今为止最好的选择。

      编辑:Example workbook

      再次编辑:如果数据必须保持原样,则需要一个高级过滤器来创建用于验证的命名范围。在这种复杂程度下,您肯定最好使用表单来输入数据。

      【讨论】:

      • 该示例似乎并没有限制基于前一个值的下一个值的选择,还是我遗漏了什么?
      • 是的,它需要定义一些范围,但应该给你一些指示。我添加了一个工作簿链接,希望对您有所帮助。
      • 这是我所追求的行为,但按原样设置需要很长时间。底层需求实际上是允许用户选择 db->table->column 作为报告需求模板。为了做到这一点,我需要为每个表设置一个范围,并且有数百个。
      • 在这种情况下,您最好将唯一数据加载到组合框中并在 VBA 中管理依赖项。
      猜你喜欢
      • 2022-10-17
      • 1970-01-01
      • 1970-01-01
      • 2019-01-20
      • 1970-01-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多