各供应商「已开立减已付款」(两次 SUMIFS)

中等 数学
题目说明
提示 0/4
官方解法 2
–
测试用例
1
2
3
重置
提交
fx
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
正在加载交互式电子表格...
正在准备单元格数据与公式求解引擎
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。

题目

题目说明

两张表要合成一份报表:发票在 A2:B4、付款在 D2:E6,同一供应商可能分几次付款。针对 A2 这家供应商,把未结差异(已开立减已付款)填进 Variance 单元格 F2。

两边都要按供应商汇总——单笔付款记录不等于已付金额。

题目数据

用表格查看整份数据(可选中、可复制)
这道题的数据表
ABDEF
1VendorInvoicedVendorPaidVariance
2Acme5000Acme4800
3Bolt3200Acme200
4Cobalt1800Bolt3200
5Cobalt1000
6Cobalt500

知识点

同一个 SUMIFS 模式跑两次、换一张表:先按供应商汇总发票金额,再按供应商汇总付款金额,然后相减。0 是合法答案(已结清),所以不要用 IF(x=0,"") 把它藏起来——那正好会把你找的供应商盖掉。

解题思路

答案写在 F2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。

  1. 目标单元格是 F2
  2. 先按 A2 的供应商汇总 B2:B4,再按同一供应商汇总 E2:E6
  3. 把后者从前者减掉
  4. 公式形状:=SUMIFS(?, ?, ?) - SUMIFS(?, ?, ?)

官方解法

展开 2 种解法(建议先自己试一次)

解法 1:两个 SUMIFS 相减

=SUMIFS($B$2:$B$4, $A$2:$A$4, A2) - SUMIFS($E$2:$E$6, $D$2:$D$6, A2)

Acme 开立 5000、付款 4800 + 200 = 5000,差异是 0。若只结清一部分,同一公式会直接报出差额,而不是给一个状态词。

解法 2:两边都用 SUMIF

=SUMIF($A$2:$A$4, A2, $B$2:$B$4) - SUMIF($D$2:$D$6, A2, $E$2:$E$6)

SUMIF 两边都是条件区域在前、求和区域在后。结果相同,条件只是单纯相等时读起来更短。

函数指南

相关 Excel 练习

常见问题

怎么比较两张表、同一个键的总额?

两张表各自按键汇总再相减:=SUMIFS(发票, 供应商列, 键) - SUMIFS(付款, 供应商列, 键)。用 VLOOKUP 只有在「每张表一家供应商一行」时才成立。

为什么差异显示成短横线或空白,而不是 0?

可能是格式把 0 显示成短横线,或公式包了 IF(x=0,"")。差异为 0 是数据,不是错误。