我设置了一个电子表格来记录家庭财务交易。我想实现的功能之一是“谁欠谁什么”指标。我曾希望,家里只有两个人,这很简单,但尽管我知道自己到底想做什么,但我不知道正确的公式。以下是示例:
数量 | 收款人 | 为一个 | 对于 B |
---|---|---|---|
-100 | A | 100% | 0% |
-50 | A | 0% | 100% |
-10 | 乙 | 50% | 50% |
逐行:
- A 为自己支付 100 美元。应忽略此行,因为 A 正在为其想要的东西付款。
- A 为 B 支付了 50 美元。B 现在欠 A 50 美元。
- B 为 A 和 B 平分的某物支付 10 美元。一半价值归 B,所以另一半归 A。A 欠 B 5 美元
- 总的来说,B 欠 A 45 美元
我想创建两个单元格。一个显示 A 为 B 支付了多少钱,另一个显示 B 为 A 支付了多少钱。然后我可以计算每个单元格的差额,看看谁欠谁多少钱。
对于第一个单元格,我需要一个类似 的函数if "Column Payee"="A" AND "Column For B">0, then "Column Amount" * "Column For B"
。问题是,这只能在一行上起作用。我需要它能作用于每一行并加起来。我可以通过创建一个新列、使用 IF 语句,然后让一个单独的单元格将每一列加起来来解决此问题,但这会变得很混乱。我更喜欢更优雅的替代方案。
我猜我需要使用该SUMIFS
函数。格式为=SUMIFS(Sum Range, Range 1, Criteria 1, Range 2, Criteria 2)
。
假设上表中的第一个单元格是 A1,我想我应该从以下位置开始:
=SUMIFS(A2:A4,B2:B4,"A"...
但后来我被难住了。Range 2
并且Criteria 2
只有当值只有 0% 或 100% 时才会起作用。由于我试图将每一行的 A 与 D 相乘,所以我需要一种不同的方法。
想过怎样继续吗?
答案1
总成本A是=SUMIF(B2:B100;"A";A2:A100)
= -150
他自己的成本是=SUMPRODUCT(A2:A100;C2:C100)
= -105
也就是说,他需要补偿
=SUMPRODUCT(A2:A100;C2:C100)-SUMIF(B2:B100;"A";A2:A100)
= -105-(-150)=四十五
同样地乙- 所有成本
=SUMIF(B2:B100;"B";A2:A100)
= -10
花费在自己身上=SUMPRODUCT(A2:A100;D2:D100)
=-55,
必须支付另一笔费用
=SUMPRODUCT(A2:A100;D2:D100)-SUMIF(B2:B100;"B";A2:A100)
=-55-(-10)=-45