下拉列表...递归问题/下拉列表,可能无法进行数据验证?

时间:2019-10-15 14:21:10

标签: validation google-sheets filter dropdown google-sheets-formula

我有3列:(示例)

  • A列:下拉菜单元素
  • B列:“ VIP”选择
  • C列:“普通用户”选择

B列中的下拉列表仅包含A列的所有元素。

但是,C列中的下拉列表应仅包含A列的其余元素(=>在B或C中未选择)

我能够做到这一点,方法是创建一列(简称D),在该列中仅添加位于A列而不是B列或C列中的元素,并在此D列上使用C列的数据验证。问题是ofc这是递归的...因此,一旦我在C列中输入内容,它就会从D列中删除,并且在C列中不再有效(但对于此Cell应该是有效的)

所以我认为只有3种解决方案...

  • 不要使用递归(但是我不知道该如何解决我的问题)
  • 从数据验证中禁用警告(对我来说可以,但据我所知不可能吗?)
  • 在不使用数据验证的情况下创建一个下拉菜单(不知道如何/是否可行)

我希望有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

您可以使用2个侧栏来解决此问题,然后将其隐藏。 E 列将提供 A1 B1 的下拉列表。然后 F 列将输入 C1 ,其中 F2 将包含:

=FILTER(E2:E, E2:E<>A1, E2:E<>B1)

0

0

0

spreadsheet demo

答案 1 :(得分:0)

我找到了解决方法。
我通过使用以下公式为该行创建了一个具有所有剩余值(“ C列-A列-B列”)的每一行的过滤器,只需将该行末尾的B列中的值再次添加到该过滤器中即可。 (值是E-M列)
=IFERROR(TRANSPOSE({FILTER($D$3:$D$11, ISNA(MATCH($D$3:$D$11, $A$3:$A$11, 0)), ISNA(MATCH($D$3:$D$11, $B$3:$B$11, 0)));B3}),"")

B列中的下拉列表现在为E列-M列(结束列取决于您拥有多少个可能的值)

(对于B3,它将​​是E3:M3)

(对于B6,它将是E6:M6),...

屏幕截图:https://i.stack.imgur.com/b9UVb.jpg(很抱歉,我不允许发布图片。希望链接仍然可用...)