Excel数据validation不会根据列值进行sorting

我有一个简单的缺席日程安排文件,在工作表数据列B中,在工作表JAN栏C中有一些同事的名字(或者是这个例子中的字母),这些名字再次出现(如果在工作表数据栏C中select了1 )但那不是重点。

问题:这些名称有时需要sorting(当出现新的名称时),但JAN表中的“数据有效性”列不会与它们sorting(请参阅行中的颜色)我不想使用VBA,因为我不知道它,所以希望有一个公式的解决scheme(使用公式在数据validationpopup?一些与间接?)

希望有人不能帮助我这个。

testing文件

如下图所示,左边是数据表,其中有一些名字被填充,右边是这些名字用IF公式显示的JAN SHEET,当我们在DATA SHEET中对名字sorting时,他们将在JAN中sortingSHEET也是如此,但D列H中的JAN SHEET中的数据validation并没有随之改变。 我不想用VBA解决它,因为我不知道它,所以想用公式解决它,但找不到解决scheme..读一些你可以添加一个公式到数据validation列表popup(间接…)。

在这里输入图像说明

在Jan工作表中,您正在使用公式引用数据表中的单元格,然后得到公式并在单元格引用旁边的列中input值。 如果数据表中的数据发生变化并被重新sorting,那么1月份D列中的单元格将显示新的sorting顺序,但是您需要了解,这不会影响右侧列中的所有数据。 您只对DATA表单进行了sorting,而不是Jan表单。

这是工作簿的数据架构中的一个缺陷。 不要使用数据表单元格中名称和D到J中的公式的单元格引用。D到J列中的单元格具有引用DATA表单的公式以及数据validation下拉列表。 这是一件危险的事情。 如果数据表的sorting顺序发生变化,那么仍然使用公式的单元格将引用行,但是已经从列表中选取值的单元格可能与正确的名称不匹配,因为您已经发现了这个问题。

我build议你将数据复制并粘贴到1月份。然后使用一个公式计算基于名称作为查找值的Vlookup的值。

如果新名称被添加到数据表,您需要手动复制并粘贴到Jan表单。

现在,您可以对Jan表按C列进行sorting。公式将显示正确的值,因为它们将根据名称查找它。 如果在sorting之前select了整个范围,则具有从数据validation中挑选的值的单元格将随sorting而行进。