谷歌表,数组公式

时间:2018-12-10 07:30:14

标签: google-sheets array-formulas google-sheets-formula

所以我在这里有一个电子表格。这只是一个例子。

https://docs.google.com/spreadsheets/d/1-K8La5G2Gr1h_5_l72nuWLv-OGHETY9CqN66RiZ2Rro/edit?usp=sharing

目标是跟踪我的预算。

U列:支出清单 第五栏:支出价格(韩元)。 第十栏:相同的支出清单 Y栏:支出价格(美元)

我知道将KRW转换为USD我可以使用公式 = V6:V * GOOGLEFINANCE(“ CURRENCY:KRWUSD”) 因为我想让它从v6:v开始,因为我在那里有总数。我可以将其应用于我单击的每个单元格或整个列,但是由于我有用Y4和Y5编写的数据,所以整个列均不起作用。

同样可以查看我是否输入费用,例如,如果我在U8上键入“ restaurant”,那么“ restaurant”将自动在X8上打印。出现相同的问题是,如果我使用= arrayformula(U6:U),则它将不起作用,因为我在X4和X5列中有数据。

L,M,N,O,P和Q列是我想要的样子,但我必须复制和粘贴L和O列。还必须单独选择单元格,复制并粘贴公式= M7:M * GOOGLEFINANCE(“ CURRENCY:KRWUSD”) 我只是想减少时间,因为我可以在适当的列中输入原始项目名称和成本,而其他两列进行转换的时间将自动发生,而不必选择新的单元格并复制和粘贴公式

1 个答案:

答案 0 :(得分:0)

您是对的-您需要ARRAYFORMULA,但是它需要一些控制,否则它将将该列复制到每个可用的单元格中。因此,您还希望ARRAY_CONSTRAIN限制显示公式的行和列的数量(在您的情况下,仅是行)。

单元格Y6:=array_constrain(arrayformula(round(V6:V*googlefinance("CURRENCY:KRWUSD"),2)),21,1)
数组为V6:V;它将转换值乘以四舍五入到小数点后两位。 该公式被限制为显示21行(表格的深度)和一列。

单元格W6:=array_constrain(arrayformula(round(Z6:Z/googlefinance("CURRENCY:KRWUSD"),2)),21,1)
与单元格Y6相同,除了1)数组= Z6:Z,以及2)将美元金额除以转换率。

另外两个需要注意的单元格:
单元格V5:=D15-sum(V6:W26)
单元格Y5:=G15-sum(Y6:Z26)
这些都将各自的货币列相加。

该表如下所示:


enter image description here