Excel 如何根据列的名称对列求和?

Excel 如何根据列的名称对列求和?,excel,vba,Excel,Vba,如果列的名称是Price,我想计算列的和,因为我可以在Price列之前添加另一列 我有这样的桌子: Product Qte Price table 4 20 chair 10 5 . . . . . . . . . 使用索引返回正确的列: =SUM(INDEX(A:Z,0,MATCH("Price",1:1,0))) 备选方案1:格式化表ListObjects 将数据格式化为表ListObjects,如下所示 因

如果列的名称是Price,我想计算列的和,因为我可以在Price列之前添加另一列

我有这样的桌子:

Product Qte Price
 table   4   20
 chair   10   5
    .     .   .
    .     .   .
    .     .   .

使用索引返回正确的列:

=SUM(INDEX(A:Z,0,MATCH("Price",1:1,0)))
备选方案1:格式化表ListObjects 将数据格式化为表ListObjects,如下所示

因此,您可以在公式中使用表名和标题名,如下所示

=SUM(Table1[Price])
另见

备选案文2:命名范围 另一种选择是使用命名范围,以便可以在公式中使用该名称

例如,在名称框中选择当前价格所在的整列 在该框中键入价格,然后按Enter键

然后您可以在公式中使用它,如:

=SUM(Price)

如果现在在价格列之前添加列,则价格名称将始终与价格数据保持一致。

为什么需要VBA?我想创建一个宏,可以获取此总和的结果并将结果发送到其他表中。我无法更改excel文件。它是自动生成的,我只有浏览权限it@KuRuVI在这种情况下,唯一的方法是使用ScottCraner发布的解决方案。