将Excel中其他表格中所示的列相加

将Excel中其他表格中所示的列相加,excel,sum,worksheet,Excel,Sum,Worksheet,我正在为一家公司创建一份财务excel工作簿。此工作簿中有一张带有损益表的工作表和一张带有参数的工作表 在带有参数的表格中,有一个单元格,其中包含公司产品的服务合同预计持续的季度数 在损益表的表格中,我想和参数表格中的数字一样多的单元格相加 e、 g.“参数”-表单元格B7的编号为4。现在在“损益表”中,我想要从单元格C8到右边4列的总和(因为参数!B7=4)。但是如果我把参数中的数字改为5,它必须自动在损益表的右边取5列 我尝试过将Excel更改为R1C1,但我不知道如何创建它。有或(如果可能

我正在为一家公司创建一份财务excel工作簿。此工作簿中有一张带有损益表的工作表和一张带有参数的工作表

在带有参数的表格中,有一个单元格,其中包含公司产品的服务合同预计持续的季度数

在损益表的表格中,我想和参数表格中的数字一样多的单元格相加

e、 g.“参数”-表单元格B7的编号为4。现在在“损益表”中,我想要从单元格C8到右边4列的总和(因为参数!B7=4)。但是如果我把参数中的数字改为5,它必须自动在损益表的右边取5列

我尝试过将Excel更改为R1C1,但我不知道如何创建它。有或(如果可能)没有VB

它必须是这样的:
=SUM(R8C3:R8C[+参数!R7C2])

有几种方法可以做到这一点。第一个是抵消。偏移公式基于此格式

OFFSET(REFERENCE CELL, NUMBER OF ROWS TO MOVE, NUMBER OF COLUMNS TO MOVE, HOW MANY ROWS TO RETURN FROM THE NEW POINT, HOW MANY COLUMNS TO RETURN FROM THE NEW POINT)
积极的将你的身体向下或向右移动。负值会向左或向上移动

因此,在您的案例中,您将看到以下内容:

=SUM(OFFSET($C8,0,0,1,'Parameters'!B7))
现在,我没有锁定8,以防您计划向下复制,并且希望向下复制的每一行都有一个新行,并且不希望C8始终是相同的参考点。不过,有办法解决这个问题,如果你愿意,可以保留8加元

话虽如此,如果您只是使用了几次偏移量,请务必继续,它不会减慢速度。但是,如果您经常使用它,它会减慢速度,因为它是一个易变函数,在工作表上的任何信息发生更改时都会重新计算

现在我们有选择了

您还可以使用索引选项。由于索引选项在后台返回单元格地址,因此可以按如下方式使用:

=SUM(C8:INDEX(8:8,COLUMN(C8)+'Parameters'!B7))

有几种方法可以做到这一点。第一个是抵消。偏移公式基于此格式

OFFSET(REFERENCE CELL, NUMBER OF ROWS TO MOVE, NUMBER OF COLUMNS TO MOVE, HOW MANY ROWS TO RETURN FROM THE NEW POINT, HOW MANY COLUMNS TO RETURN FROM THE NEW POINT)
积极的将你的身体向下或向右移动。负值会向左或向上移动

因此,在您的案例中,您将看到以下内容:

=SUM(OFFSET($C8,0,0,1,'Parameters'!B7))
现在,我没有锁定8,以防您计划向下复制,并且希望向下复制的每一行都有一个新行,并且不希望C8始终是相同的参考点。不过,有办法解决这个问题,如果你愿意,可以保留8加元

话虽如此,如果您只是使用了几次偏移量,请务必继续,它不会减慢速度。但是,如果您经常使用它,它会减慢速度,因为它是一个易变函数,在工作表上的任何信息发生更改时都会重新计算

现在我们有选择了

您还可以使用索引选项。由于索引选项在后台返回单元格地址,因此可以按如下方式使用:

=SUM(C8:INDEX(8:8,COLUMN(C8)+'Parameters'!B7))

这可以使用间接()函数。这可以使用间接()函数。很抱歉,您需要从R1C1样式更改回来,或者您需要相应地调整单元格引用。谢谢您的回答。第一件事没有起作用,但索引选项起了作用。很抱歉,您需要从R1C1样式更改回R1C1样式,或者您需要相应地调整单元格引用。谢谢您的回答。第一件事没有起作用,但索引选项起了作用。