我有两张纸。
收入(表 1):
A | B | C
Job number | Amount | Net
1 | 100 |
2 | 200 |
3 | 100 |
4 | 60 |
5 | 100 |
6 | 100 |
7 | 100 |
8 | 100 |
和
结果(表 2):
A | B | C
Job number | Amount | Title
1 | 5 | Stationery
2 | 15 | Printer ink
2 | 10 | et
2 | 10 |
4 | 20 |
6 | 30 |
8 | 10 |
8 | 10 |
我如何为 Sheet1 的 C 列编写一个公式,以求出 Sheet2 的 B 列的值之和,其中 Sheet2 的 A 列等于相应 Sheet1 的 A 列中的职位编号?这样我就可以从收入金额中扣除该金额,结果如下:
收入(表 1)
(工作情况显示在期望结果旁边)
A | B | C
Job number | Amount | Net
1 | 100 | 95 (100 - 5)
2 | 200 | 165 (200 - 15 - 10 - 10)
3 | 100 | 100 (100 - nothing)
4 | 60 | 40 (60 - 20)
5 | 100 | 100 (100 - nothing)
6 | 100 | 70 (100 - 30)
7 | 100 | 100 (100 - nothing)
8 | 100 | 80 (100 - 10 - 10)
这几乎是这个问题根据与另一列同一行中的值的比较来计数单元格但不完全是...!
答案1
当然,您可以使用量身定制的 SUMIF 公式来实现这一点,但我喜欢数据透视表。数据透视表技能可以带来更加用户友好的体验,而无需学习(相对)复杂的公式语法。
选择 Sheet 2 的数据(单击内部,按 CTRL-A)并转到。您可能希望在新工作表上创建此工作表。如果/当您向源表添加更多数据时,您可以在其中单击并在功能区上Insert > PivotTable
找到刷新/扩展数据透视表的方法。PivotTable Options
从这一点开始,您可以按照这里所示排列数据透视表(我所做的标记仅供视觉参考):
通过这样做,您无需更改源数据,即可将数据压缩为每个工作编号一行。由此,您可以使用非常简单的 VLOOKUP 函数进行计算:
=B2-VLOOKUP(A2,Sheet4!A:B,2,FALSE)
但是我们这里有一个问题!我们之所以会遇到这个问题,#N/A
是因为我们的一些工作在 Sheet 2 上没有条目。这里的简单解决方法是只考虑错误,如下所示:
=IFERROR(
我们的公式 ,
原始金额)
如果您刚开始使用数据透视表,您可能更习惯使用 Vlookup 和加/减等基本函数,因此这种方法应该对培养良好的 Excel 技能更有帮助。
答案2
=SumIf(Sheet2!$A$2:$A$9,$A2,Sheet2!$C$2:$C$9)
将根据工作表 1 中的 A 列对工作表 2 中的值进行求和。
然后,您只需在 Sheet1 中的 C 列中执行以下操作即可:
=$B2-SumIf(Sheet2!$A$2:$A$9,$A2,Sheet2!$C$2:$C$9)