根据单元格中的公式创建100+命名范围

时间:2014-08-26 13:13:41

标签: excel range formula named

现在已经找了很长一段时间,由于缺乏独特的术语无法找到任何解决方案,所以也许这里的专家可以提供帮助。

所以我得到了这个300+列的表,这些列就像这样填充

第1行标题/名称。

第2行当创建范围的“新名称”时,范围公式将位于“参考”输入区域。

第3/22行范围公式中使用的信息。

要在另一张纸上的数据验证中使用范围公式,我需要命名这些范围。如果我手动输入“新名称”,我可以将范围公式从第2行复制到“引用”输入区域,只有300列,这将是漫长的一天劳动。那时我发现了 CRTL + SHIFT + F3 组合,这使得有可能一次创建大量命名范围标题/名称和选择。不幸的是,这使用选择的位置作为源,在我的情况下,它应该是位置单元格内的公式,它必须是源...

那么有没有办法使用“从选择中创建名称”工具,该工具使用单元格内的公式作为源而不是位置?

这是一张有助于描述问题screenshot to show problem

的图片

1 个答案:

答案 0 :(得分:0)

对于每次验证,您应该能够使用1个命名范围来解决此问题(再加上2个以使公式更简单)。

第一个命名范围(all_headers)应定义为:

=OFFSET('C'!$A$1,0,0,1,COUNTA('C'!$1:$1))

它返回一个带有C表单标题(产品名称或代码)的范围。我们假设第一列是A,它们之间没有空列。

接下来我们需要选择正确的列。这有点棘手。在要验证颜色的行中,您需要具有与C工作表标题中使用的完全相同的产品名称或代码。如果此信息在单元格A2中,您应该:

  • 选择同一行和应该进行颜色验证的列中的单元格(例如B2)
  • 使用以下公式定义新的命名范围col_header

    =INDEX(all_headers,1,MATCH(A2,all_headers,0))
    

上面的动态命名范围是 relative ,这就是为什么在定义它之前选择合适的单元格非常重要的原因。

最后一步是参考所选列中的颜色列表来定义命名范围val_list

=OFFSET(col_header,2,0,COUNTA(OFFSET(col_header,2,0,50,1)),1)

您提到第二行不包含数据,这就是为什么公式中有2个参数两次的原因。如果您将其删除,请改用150是最大颜色数 - 您可以调整它。

现在,您可以在任何单元格中使用val_list进行验证。如果左侧的单元格包含C工作表标题中的有效产品名称/代码,则应该为您提供正确的列表。