0

假设数据集看起来像

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 中获得级联下拉列表/选择列表?

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

4

3 回答 3

1

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

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

感谢其他想法。

于 2009-03-24T13:42:39.857 回答
0

选择范围,然后选择数据 -> 过滤器 -> 自动过滤器。这是否实现了您正在寻找的东西?

于 2009-03-24T11:04:20.440 回答
0

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

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

类型详细信息
水果 苹果

...然后更改第一列:

类型详细信息
蔬菜苹果

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

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

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

编辑:示例工作簿

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

于 2009-03-24T11:07:35.707 回答