Excel formula Sumifs公式,其中总和范围根据单元格值而变化
我试图做一个SUMIFS公式,其中我要求和的列(sum_范围)将取决于与另一个表中的单元格值匹配的列标题 因此,例如,我的数据表中的单元格A2可能会说“实际销售额”,公式将对数据表中的列X求和(因为单元格X1=“实际销售额”)。但如果我将单元格A2更改为“预算销售额”,我希望公式从列AG求和(因此单元格AG1=“预算销售额”) SUMIFS公式中的其他标准不会改变 在对SUMIF公式执行此操作时,我设法使用了索引和匹配公式,但在SUMIFS公式上似乎不起作用 基本公式如下:Excel formula Sumifs公式,其中总和范围根据单元格值而变化,excel-formula,Excel Formula,我试图做一个SUMIFS公式,其中我要求和的列(sum_范围)将取决于与另一个表中的单元格值匹配的列标题 因此,例如,我的数据表中的单元格A2可能会说“实际销售额”,公式将对数据表中的列X求和(因为单元格X1=“实际销售额”)。但如果我将单元格A2更改为“预算销售额”,我希望公式从列AG求和(因此单元格AG1=“预算销售额”) SUMIFS公式中的其他标准不会改变 在对SUMIF公式执行此操作时,我设法使用了索引和匹配公式,但在SUMIFS公式上似乎不起作用 基本公式如下: =SUMIFS(数据
=SUMIFS(数据!X:X,数据!F:F,B26,数据!D:D,C10,数据!E:E,数据!C11)
上面的公式是X列(实际销售额)的总和,但我希望该范围取决于我在特定单元格中输入的内容
有什么想法吗?您可以尝试这样做,假设出于演示目的,数据在A列和B列的同一张表中:-
=SUM(A2:B4*(A1:B1=$C$1))
在C2中作为数组公式输入
如果您的数据范围中有非数字单元格,它将不起作用,但您可以尝试
=SUM(IF(ISNUMBER(A2:B4),A2:B4,0)*(A1:B1=$C$1))
下面是另一个只选择所需列的方法(非数组公式)
但是您必须放置所需的行范围(在本例中为2和4)
=SUM(INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH($C$1,$A$1:$B$1,0)),"$1","")&":"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,$A$1:$B$1,0)),"$1","")))
更好,因为它对整个列求和
但是,标准方法是使用索引返回整个列:-
=SUM(INDEX(A:B,,MATCH($C$1,$A1:$B1)))
您可以直接
INDIRECT
根据字符串输入动态指定一个范围,例如SUM(INDIRECT(“DATA!D:D”)
对D列中的所有值求和。将其与IF
组合,以便根据特定条件切换使用的范围。您可以将其用于任何公式,包括SUMIF
或SUMIFS
例如:
在本例中,有一个SumColumn
,其中包含我希望求和的SumColumn
的编号。有效值为1
和2
SumColumn1
和SumColumn2
仅包含值(无公式)
单元格B2
包含一个公式,该公式使用INDIRECT
和SUMIFS
根据条件求和值(所有值必须是>1
)。定义范围的部分是:
INDIRECT(IF(DATA!$A$2=1,"DATA!C:C","DATA!D:D"))
基本上,如果单元格A2
中的数据等于1
,则使用一系列数据!C:C
;否则使用数据!D:D
现在只需将其包装在常规的SUMIF
(或者在您的示例中为SUMIFS
)中,即可获得所需的结果。您应该选择透视表。试试看
=SUM(INDIRECT(SUBSTITUTE(ADDRESS(1,MATCH($C$1,$A$1:$B$1,0)),"$1","")&":"&SUBSTITUTE(ADDRESS(1,MATCH($C$1,$A$1:$B$1,0)),"$1","")))