Excel:验证规则,其值应位于另一列的列表中,不应为空


0

在excel上,我有两个标签:一个列出参与活动的所有人,其中包含大量详细信息。我有一个“FullName”列,基本上由以下定义:

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

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

在另一个标签中,我想根据前面提到的专栏,对人员进行规划,并在此处选择此人。

我试图创建一个动态命名范围,但问题是人员列表可能是这样的:

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

并且根据我目前发现的所有解决方案,他们没有考虑到“”对于我的情况应该被视为空白,并且可能存在空单元格,然后是非空单元格。

你会怎么处理这个?我想动态命名范围是很好的方法,但是什么公式呢?

Answers:


0

您可能希望选择表格的“全名”列的数据,然后应用命名范围,例如Full_Name就可以了。 Voi'la,你的参考是用你的桌子扩展。

编辑

所以:

  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的便捷变体,它将无效。您可以在打开工作簿时将枢轴设置为刷新。


是的,但它包含空的字段
J4N

为什么主键中有空字段[sic]?源表包含哪些其他数据?
sicarius92

有时他们会在输入的数据中放入一些空白区域来重新组合他们的输入。这不是我的选择:(
J4N

然后我将在主键中创建数据的轴,然后引用数据透视表。
sicarius92

有关如何执行此操作的详细信息,请参阅 链接 。更新通过Ctrl + Alt + F5进行,如果有其他数据表从那里刷新,也可以随意使用VBE事件和子。请注意,枢轴有一些特殊设置可以充分利用您的数据。有一个应用于空值的过滤器。
sicarius92

0

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

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


我知道,我对Excel如何与其VBA代码交互不是很熟悉,我应该如何调用我创建的方法?
J4N

就像你使用内置函数一样,例如 =offset("A1",0,0,lastRow(),<number of columns in your range>)
Máté Juhász

事实上,我必须把它放在一个模块中才能使它工作。所以现在我唯一的问题是如何使用此方法结果来过滤初始范围?
J4N

对不起,那你原来的问题不清楚了。你想让我做什么?筛选列表由什么?还是用数据验证?请编辑您的问题以明确说明。
Máté Juhász
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.