所以我有一个excel电子表格指示器,我正在尝试制作一个SUMIFS语句,它将改变我选择的列。所以我会在左边有列名,我想把它作为一个变化的参数。见下表。
TABLE1
week1 week2 week3
column1 x x x
column2 x x x
column3 x x x
TABLE2
Week column1 column2 column3
1 x x x
1 x x x
1 x x x
2 x x x
2 x x x
2 x x x
因此在上面的表中,TABLE2保存所有数据,TABLE1基本上是按周数据的总和。所以我希望SUMIFS读取类似SUMIFS(TABLE2 [????],TABLE2 [Week],$ B $ 2)但我无法弄清楚如何获取SUMIFS的sum_range部分让我传递参数关于如何做到这一点的任何提示或想法?
答案 0 :(得分:0)
您可以使用INDEX和MATCH,类似这样的
=SUMIFS(INDEX(TABLE2,0,MATCH($A3,$A$7:$D$7,0)),TABLE2[Week],B$2)
其中A3包含“column1”,A7:D7包含TABLE2的列标题
答案 1 :(得分:0)
=INDIRECT("TABLE2[" & A3 & "]")
将解析为TABLE2 [column1](假设A3保存文本“column1”)
所以间接函数可以作为sum_range(在excel 2007中测试)
答案 2 :(得分:0)
这是一个SUMPRODUCT公式。我使用Sheet1和Sheet2而不是表格。您可以更改公式以满足您的需求
=SUMPRODUCT(--(Sheet2!$A2 = Sheet1!$B$1:$D$1) * --(Sheet2!B$1 = "week" & Sheet1!$A$2:$A$7), Sheet1!$B$2:$D$7)