繁体   English   中英

通过存储在单元格中的CSV列表进行单元格验证

[英]Cell validation from a CSV list stored in a cell

我一直在搜索Stack Overflow,并且通常在周围搜索,但是我一直在获得有关将多单元格范围用于验证源的教程( 如本教程)。

我有一张可能的材料和相关质量的表:密度,保护性值,每单位重量的成本,可用性等。严格来说,其中一列是“有效的构造方法”,并且此单元格包含逗号分隔的字符串列表。 用户使用带有“验证”下拉列表的单元格选择这些材料之一(此部分工作正常)。

我需要第二个下拉菜单,其中将显示可用于从第一个下拉菜单中选择的材料的有效构造方法。 通过使用构造方法表中的名称列作为验证限制,我可以显示所有构造方法,但是我只想要有效的构造方法。

因此,例如,如果用户选择“手工锻造的铁”,那么他们就没有选择“ Quilting”或“ Layering on the bias”的选项-这些选项仅对类似柔性织物的材料有效。 相反,如果他们选择“亚麻”,则他们不应该具有“铰接板”的能力-这对亚麻和其他面料来说是无稽之谈。

我可以在验证框中手动键入一个逗号分隔列表,并且下拉列表可以正确生成,但是我无法为包含一个逗号分隔列表(= VLOOKUP)的单个单元格提供VLOOKUP验证框(Material,MaterialTbl,7,False)),它抱怨说,源必须是已删除列表或对单个行或列的引用。

我还尝试将VLOOKUP放在单元格中,然后仅将验证框指向该单元格(= $ H $ 16),但我所得到的只是一个选项,其中包含整个列表,逗号和所有内容。 例如,我的列表包含一个选项:“邮件,分段板,比例,板”,而不是四个选项:“邮件”,“分段板”,“比例”,“板”。

有什么办法吗?

有没有一种方法可以不诉诸VBA? (如有必要,我将求助于VBA,但我希望使用不包含宏的电子表格,因为它更易于分发)。

我仍然认为最好通过创建一个表和定义此表的动态范围来达到最佳状态。

如有必要,可以将其放在隐藏的工作表上。

我将在工作表中定义两个命名范围。 TableRange将引用整个表,而ListRange将是一个单独的1列范围,该范围根据下拉菜单中的选择而动态变化。

使用一些公式(可能会变得复杂)和动态范围,使下拉列表彼此“相关”非常容易。

https://docs.google.com/file/d/0B1v0s8ldwHRYMUpQRmluVzRkcnM/edit?usp=sharing

Sheet1解释了如何设置命名范围

Sheet2有示例下拉菜单,顶层链接到Sheet1上的单元格$A$1:$C$1 ,第二个下拉列表链接到动态ListRange

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM