2014-02-24 55 views
0

我有一個非常大的表格,每個月都會用新的價格添加一列。然後,我必須用這些值進行一些分析。我已經做到了,但是使用了公式中列的名稱。我想知道我是否可以將公式指向下拉列表,因此我只是在可用時選擇新時段並獲得結果。從下拉列表中選擇數據

這裏是我一直在使用該公式的一些例子:

{=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

我建議你使用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))獲取數據的 相應列
0

你一個重新尋找indirect功能。有了它,你可以構建一個包含單元格公式的動態字符串 - 然後間接函數將把公式字符串解析爲其結果。

如果沒有具體的例子,有點難以描述。

看一看以下資源:

about.com

http://www.cpearson.com/excel/indirect.htm