excel 根据表头从数据验证列表中删除第一列

66bbxpm5  于 2022-12-27  发布在  其他
关注(0)|答案(1)|浏览(196)

我有一个带有以下标题的表:

我有一个下拉列表,允许人们用下面的公式选择年份:

=INDIRECT("BrandsMarketShares[#Headers]")

问题是,它还允许用户选择"品牌"标题,这是没有意义的,因为它有一组不同的值。我如何从公式中删除"品牌"列,同时仍然保持公式的适应性(表可以扩展或收缩,我不想不断更改公式)。
谢谢!

lf3rwulv

lf3rwulv1#

这可以在不使用INDIRECT()的情况下通过添加一个步骤来完成,并且仍然是动态的。表有巨大的优势,但是一些函数在使用表时会有古怪的行为,比如在数据验证中不能使用[#Headers]。您可以更容易地执行自己的间接操作,而不再使用繁琐的INDIRECT()函数:

    • 方法1**

进入名称管理器并创建一个新的表名,我们将其命名为Brand_Headers,并将其值设置为=BrandsMarketShares[#Headers]
现在,在数据验证中,我们只需使用公式=Brand_Headers就可以了。
=DROP(Brand_Headers,,1)

    • 方法2**

您还可以在定义的名称中包含DROP():
1.在名称管理器中将Brand_Headers设置为=DROP(BrandsMarketShares[#Headers],,1)
1.只需在数据验证中使用=Brand_Headers作为公式。

    • 注**

对于查看此答案的其他人,请记住DROP()函数目前仅存在于Excel O365中。
这种命名是一次性的,而且是动态的,如果您向表中添加列,Brand_Headers将包含这些列。

相关问题