Excel数据验证不会根据列值进行排序

时间:2017-05-17 00:29:39

标签: excel validation sorting excel-formula

我有一个简单的缺席计划文件,在工作表DATA列B中,在工作表JAN列C中有一些同事的名字(或本例中的字母..)这些名称再次出现(如果在工作表中选择1)数据列C)但这不是重点。

问题:有时必须对这些名称进行排序(当出现新名称时),但是表单JAN中的DATA VALIDATION列不会对它们进行排序(请参阅行中的颜色) 我不想使用VBA因为我不知道它,所以希望有一个公式解决方案(在数据验证弹出窗口中使用公式?使用INDIRECT?)

希望有人无法帮助我。

TEST FILE

如下图所示,左侧是DATA SHEET,其中填写了一些名称,右侧是JAN SHEET,其中这些名称以IF公式显示,当我们在DATA SHEET中对名称进行排序时,他们将在JAN SHEET中排序,但是来自D列H的JAN SHEET中的DATA VALIDATION没有随之改变。我不想用VBA解决它,因为我不知道它,所以想用公式修复它,但找不到解决方案..读一些你可以添加公式到数据验证列表弹出窗口(INDIRECT ...)。

enter image description here

1 个答案:

答案 0 :(得分:0)

在Jan工作表中,您使用公式引用数据表中的单元格,然后您有公式并在单元格引用旁边的列中输入值。如果数据表中的数据发生更改并重新排序,则Jan,D列中的单元格将显示新的排序顺序,但您需要了解这不会影响右侧列中的所有数据。您只对DATA表进行了排序,但没有对Jan表进行排序。

这是工作簿数据体系结构中的一个缺陷。不要在数据表中使用单元格引用作为名称和D到J中的公式。列D到J中的单元格具有引用DATA表格的公式,以及数据验证下拉列表。这是一件危险的事情。如果DATA表的排序顺序发生变化,那么仍然使用公式的单元格将引用行,但是从列表中选取值的单元格可能与正确的名称不匹配,如您所知。

我建议您将DATA中的名称复制并粘贴到Jan.然后使用一个公式来计算基于Vlookup的值,并将Name作为查找值。

如果新名称被添加到DATA表,您需要手动将该名称复制并粘贴到Jan表。

现在,您可以按列C对Jan工作表进行排序。公式将显示正确的值,因为他们将根据名称查找它。如果在排序之前选择了整个范围,则具有从数据验证中选取的值的单元格将按排序行进。