我有一张非常大的桌子,我每个月都会用新价格添加一列。然后,我必须用这些值进行一些分析。我已经使用了公式中列的名称。我想知道我是否可以将公式指向下拉菜单,所以我只选择新的时间段并获得结果。
以下是我一直使用的公式的一些例子:
{=SUM(IF($B17=Matriz[money];Matriz[31-10-2013]*Matriz[country];0))}
我想使用像
这样的东西 {=SUM(IF($B17=Matriz[money];Matriz[*dropdow reference*]*Matriz[country];0))}
pd:{ }
用于矩阵计算(当你使用ctrl + shift + enter时)
答案 0 :(得分:0)
您正在寻找indirect
功能。有了它,你可以动态构造一个包含你的单元格公式的字符串 - 然后间接函数将公式字符串解析为其结果。
如果没有具体的例子,有点难以描述。
查看以下资源:
答案 1 :(得分:0)
我建议您使用INDEX
+ MATCH
代替IDIRECT
(因为IDIRECT
是易失性函数,每次任何细胞改变了):
=SUM(IF($B17=Matriz[money];INDEX(Matriz[#Data];0;MATCH(A1;Matriz[#Headers];0))*Matriz[country];0))
并按 CTRL + SHIFT + ENTER 进行评估。
或者你可以使用SUMPRODUCT
- 它不需要数组输入:
=SUMPRODUCT(($B17=Matriz[money])*INDEX(Matriz[#Data];0;MATCH(M2;Matriz[#Headers];0))*Matriz[country])
我假设您的下拉值在A1
单元格中。
MATCH(A1;Matriz[#Headers];0)
从A1
单元格中找到值
在表格的标题中INDEX(Matriz[#Data];0;MATCH(A1;Matriz[#Headers];0))
得到了
相应的数据列