我希望能够访问一个命名范围的单元格,它只是一列或一行,而不必使用Index
之类的函数。例如,如果我有一个名为test_column
的列,我希望能够通过沿着=test_column.1
行写入一些内容来访问第一个单元格。
我希望像这样的方法也可以被“拖动”,这样里面的公式就会自动递增到列中的下一个单元格,即。test_column.1
、test_column.2
、test_column.3
等。如果你使用的是Index(test_column, 0, 1)
等,就不会发生这种情况。我知道我可以在Index中引用一个索引列(即Index(test_column, 0, A1)
,但这使得单元格内的公式可读性和直观性都较低,而且比我希望的更冗长!
我希望这样的东西已经存在,或者它可以使用VBA实现。
非常感谢!
为清晰起见编辑:
我喜欢这个功能的原因是我认为它使公式的可读性更强。例如,=acceleration.1 * time.1 + initial_velocity.1
比=INDEX(acceleration, A1) * INDEX(time, A1) + INDEX(initial_velocity, A1)
清晰得多。
1条答案
按热度按时间qlfbtfca1#
如果使用表(
Insert
>Table
),则可以通过列的名称引用列。根据你的帖子,我怀疑这是解决你问题的最佳方案(基于表格的公式通常更具可读性)。如果在编辑公式时选择表格单元格,Excel将自动使用基于表格的公式。但是请注意,对于表,您只能引用整个列或与您正在编写的公式位于同一行的命名列中的值。(即没有办法说“这个命名的列,第7行)。
或者,您仍然可以使用
index
,但包含一个match
公式,用于根据名称而不是数字查找要使用的列号。(index + match是一种常见的模式,你应该能在互联网上找到例子)。编辑以包含基于您的示例的示例:
1.创建一个包含列
Time
、Acceleration
、Initial velocity
和Final velocity
的表。1.用您的数据填充前3列。
1.最后一列中的公式为“=[@加速度]*[@时间] + [@[初始速度]]”