我有如下数据:
我想要的是填写全部的通过将每个货币单元格相加来平衡单元格中帐户的货币(上图)与该货币相匹配。因此,在此示例中,单元格F6
(英镑总额)最终将具有值 12(汇丰银行余额和巴克莱银行余额之和)。
我已经尝试过几次,但都以错误告终。
SUMIF(AccountNames, VLOOKUP(F2, AccountsWithCurrencies, 2, FALSE)="GBP", AccountBalances)
其中 指AccountNames
的是范围F2:H2
,AccountBalances
是F3:H3
,而 AccountsWithCurrencies 是B3:C5
。
我见过各种建议,SUMPRODUCTS
但我不明白。我该怎么办?
答案1
您可以使用以下公式:
=SUM($F$3:$H$3*TRANSPOSE(--($C$3:$C$5=F$5)))
分解一下,$C$3:$C$5=F$5
将创建一个包含 3 项的 TRUE 或 FALSE 数组,具体取决于 C 列中的值是否与 F5 中的值匹配。这样做--($C$3:$C$5=F$5)
会将 TRUE 更改为 1,将 FALSE 更改为 0,因此在 GBP 的情况下,您将拥有一个包含 3 项的 {1;1;0} 数组。请注意,分号表示数组是垂直的。我们使用TRANSPOSE
它将其转换为 {1,1,0}(即水平数组)。我们将其转换为水平数组,以便我们可以将其乘以水平范围 F3:H3。
由于 F3:H3 中的值为 {10,2,6},因此我们基本上这样做:
{10,2,6} * {1,1,0}
这当然会计算为 {10,2,0}。使用 SUM 函数包装它可为您提供 GBP 的正确结果。