我有一张包含表名customer_id和Project_id的工作表。对于每个客户ID,显示各种项目。当我尝试通过选择所有那些未来的时候创建数据验证。 Customer_id Project_id 1 1.1 1 1.2 2 2.2 2 2.3 并且喜欢那样。请告诉我一些解决方案。
答案 0 :(得分:0)
这实际上取决于你想要什么,但由于你的问题不是那么详细,我想你的意思是这个?
您可以通过以下方式从工作表中的数据创建数据验证程序:
另一种方法是使用vba或vb.net宏创建数据验证器。在你的宏中说:
Dim range as Excel.Range = listSheet.Range("A1")
range.Validation.Add(Excel.xlDVType.xlValidateList, Excel.xlDVAlertStyle.xlValidAlertInformation, Excel.xlFormatConditionOperator.xlEqual, "Option1; Option2")
答案 1 :(得分:0)
我猜你想要的是两个下拉列表,第二个取决于第一个中选择的值? (请详细说明你的问题)。要做到这一点,我想还有其他方法,但这就是我通常做的事情:
考虑到我总是使用名称来引用范围而不是引用,以提高读数。如果您有疑问,请阅读Use names in Excel formuas
master_list
dependent_list
heading
命名为dependent_list
上方的单元格(例如,如果依赖关系表在A2中开始,则heading
为A1 master_list
按照您希望的值显示在下拉列表中。dependent_list
必须按第一列中的值(主值)排序。如果master_list
和dependent_list
中的订单相同,则无关紧要,但dependent_list
的主列中的相同值必须在一起。 dependent_list
第二列中的顺序将决定从属下拉列表中的顺序。dependent_list
中显示的消息。我将其命名为msg_error
。=INDIRECT("master_list")
key_value
=IF(key_value="";msg_error;OFFSET(heading;MATCH(key_value;dependent_list;0);1;COUNTIF(dependent_list;key_value);1))
请注意,Excel函数是语言依赖于语言,我已将它们翻译成英语,因此可能存在错误。