我想我现在是个掘墓人,但我一直在寻找同样的东西并找到了这个帖子。所有不同的选项都很难做到和理解,但我开发了自己的解决方案。
所需要的只是:
总共6个公式。一根支撑柱和一张支撑板。
这里是:
我根据原始帖子中的大洲和国家/地区设置的表格进行了分析。它在列中有大洲和国家,并被命名为“国家”。这张桌子容纳了所有大陆及其各自的国家。它在 Sheet1 中。
然后我制作了一张新表(Sheet2),其中包含一个新表(“Test”),其中包含以下列:Continent(保存独特大陆的下拉列表),Country(保存属于的国家/地区的下拉列表)大陆选择)和一个支持列(顺序),在唯一的大陆列表中添加大陆的顺序。支撑柱的公式为:
=MATCH([@Continent],UNIQUE(Countries[Continent]),0)
“测试”表现在的样子。它有 3 列:大陆、国家和秩序
然后我创建一个新工作表(Sheet3)。在 A1 中,我添加了这个公式,以获取列中的所有唯一大陆:
=UNIQUE(Countries[Continent])
在 B1 中,我添加以下公式:
=IFERROR(TRANSPOSE(SORT(INDEX(Countries[Country],SMALL(IF(Countries[Continent]=$A1,ROW(Countries[Continent])-1),ROW(INDIRECT("1:"&COUNT(IF(Countries[Continent]=$A1,ROW(Countries[Continent])-1)))))))),"")
它在“Countries”表中查找所有国家,这些国家的大陆显示在 Sheet2 的 A 列中,并按字母顺序将它们填充到列中。我将此公式扩展到 B 列的所有行(或者与您需要的选择数量一样多,对于大陆,9 就足够了)。
设置 sheet3 后的外观。
完成后,我为所有大陆创建了一个命名范围。我把它命名为“UniqueContinents”
=INDIRECT("Sheet3!$A$1:$A$"&COUNTIF(Sheet3!$A:$A,"*"))
现在剩下的就是添加数据验证。
在“大陆”列的“测试”表中,我添加了数据验证:
=UniqueContinents
在“国家”列的“测试”表中,我添加了数据验证:
=INDIRECT("Sheet3!"&ADDRESS($C2,2)&":"&ADDRESS($C2,COUNTIF(INDIRECT("Sheet3!"&$C2&":"&$C2),"*")))
它从与所选大陆匹配的行的 Sheet3 中获取列。
我已经完成了。如果我将更多大陆或国家添加到“国家”表中,所有其他下拉列表都会动态增长。如果我删除某些东西,它会到处被删除。
这是从瑞典公式翻译过来的,所以如果某些东西不能正常工作,请检查我是否错过了转换。我们用 ; 而不是 ,例如,作为公式中的分隔符。
带有工作下拉列表的表格。