Excel:验证规则中的值应位于另一列且不含空白的列表中

Excel:验证规则中的值应位于另一列且不含空白的列表中

在 Excel 上,我有两个选项卡:一个列出了所有参加活动的人员,其中包含大量详细信息。我有一个“全名”列,其基本定义如下:

=[@LastName]&" "&[@FirstName]

此列名为“FullName”(原始;))

在另一个选项卡中,我想放置人员的计划,并能够根据前面提到的列在这里选择人员。

我尝试创建一个动态命名范围,但问题是人员列表可能如下所示:

"FullName one"
"Fullname two"
" "
"Fullname four"

并且就我目前找到的所有解决方案而言,它们都没有考虑到“ ”在我的情况下应被视为空白,并且可能有一个空单元格,然后是一个非空单元格。

您将如何处理这个问题?我猜动态命名范围是好方法,但是公式是什么呢?

答案1

您可能希望选择表格中全名列的数据,然后在其上应用命名范围,例如 Full_Name。瞧,您的引用正在随表格一起扩展。

编辑

所以:

  1. 您插入一个引用表格的 Pivot。将“全名”标签放在可见标签中。为了方便起见,将其放在第一行。
  2. 您在 Pivot 设置中设置了很多东西:按升序排序、隐藏列大、将缺失项目限制设置为无,我认为还有一个标题隐藏(隐藏左上角系统插入的文本)。
  3. 您向数据透视表的列添加一个名称(例如 Your_List)。
  4. 您向 Your_List 添加验证引用。
  5. 刷新与 Ctrl+Alt+F5

对于硬核版本的参考使用验证

=OFFSET(INDEX(Your_List,1,1),0,0,COUNTA(Your_List),1)

(仅会出现您的数据透视表的值)。如果您不选择 #1 的便捷变体,它将不起作用。您可以将数据透视表设置为在打开工作簿时刷新。

答案2

如果您跳过行,列表将不会自动扩展。

我认为这里唯一的解决方案是使用用户定义函数在你的范围的定义中。

相关内容