如何将名称引用的数组公式值分配给List Data-Validation?

时间:2017-11-08 07:45:41

标签: excel list validation excel-formula array-formulas

我在下面写了数组公式:

=INDEX(Table1[Column2],SMALL(IF(Sheet1!G6=Table1[Column1],ROW(Table1[Column1])-ROW(Table1[[#Headers],[Column1]])),ROW($A:$A)))

根据 picture1

![![Array formula Picture

请注意,所选范围包含以上数组公式。

我需要定义数组公式以右表Column2的数据验证的列表形式返回值。

我曾尝试过:

我定义了一个Name,因为上面公式的响应Sheet1!G6引用部分在Column2单元格中为其适当的Column1单元格进行了更改。 (在右表中),根据以下 picture2

![![![Defining Named Range

然后设置右表的数据验证Column2,( picture3 ):

![Define list form of Data validation

问题是

但是在结果中,验证列表只包含数组公式的第一个结果!如下所示 picture4

![Data validation result list

问题

如何将数组公式结果集定义为Name(上图2)并在List数据验证(上图3)中使用{{表格(上图4)

  

我的概念是:

     
      
  • 如上所示Column。 (在纸上和   不在工作表范围内,但是)

  •   
  • 此数组公式对应于set_collection-(可能返回)的结果。

  •   
  • 我想在array form formula中使用上面设置的特殊表格列。

  •   
  • 不使用帮助程序(如Sheet,Column,Pivot-table等等)

  •   
  • 使用(1) - Data-Validaton List Ctrl + F3 ),(2) - 数组公式(用于生成有效结果集合),以及(3) - Name(检查上面特殊表格栏中输入的值是有效还是无效;并且只输入该特殊列中的有效数据))

  •   

1 个答案:

答案 0 :(得分:1)

我知道你说你不想使用帮助栏或表。但是说:

  • 表和数组公式不能共存。
  • 数据验证源可以是任何类型的复杂公式,但如果您需要,可以在源公式上使用间接到命名范围或地址(但仅限于其连续区域,而不是多个区域)
  • 一个数组永远不会作为整数结果返回到数组公式中,每个用作计算目标命运的单元格都是返回数组的一个项目。

那么我会做什么,在一个区域中返回数组公式,让我们说A1,以及一个计数器结果中使用另一个单元格B1有效的项目数。使用单元格C1确定要使用的列表的地址。然后在验证来源中使用=INDIRECT(C1)

您可以隐藏其他工作表,以便其他工具无法看到它,如果您通过宏隐藏它,则可以将其设置为非常隐藏,并且无法直接从工作簿中显示它。您也可以在我的示例中为C1单元格创建一个命名范围,以便最终用户无法查看此验证来源的来源。