前瞻公式:=COUNTIFS(B$1:B2,B2,C$1:C2,C2)<=COUNTIFS(B:B,B2,C:C,-C2)
核心逻辑:去重匹配
这个公式主要用于“按单号配对正负金额”,判断当前行是否为“有效配对项”。简单来说:如果某笔金额(如 +100)能找到对应的相反数(-100),且当前是首次或第 n 次出现,则标记为 TRUE,否则为 FALSE。
1. 左边部分:COUNTIFS(B$1:B2,B2,C$1:C2,C2)
含义:统计“从第1行到当前行”中,与当前行完全相同的组合出现的次数。
- B$1:B2:从第1行到当前行的“结算单号”范围(动态扩展)。
- C$1:C2:从第1行到当前行的“本次报账净价”范围(动态扩展)。
- 作用
举例:
- D2(第2行):统计 B1:B2 和 C1:C2 中,单号=A0002 且金额=43.08 的次数 → 只有1次 → 结果=1。
- D6(第6行):统计 B1:B6 和 C1:C6 中,单号=A0002 且金额=135.55 的次数 → 只有1次 → 结果=1。
- D10(第10行):再次出现 135.55 → 统计到第2次 → 结果=2。
2. 右边部分:COUNTIFS(B:B,B2,C:C,-C2)
含义:统计“整个表格中”,与当前行单号相同,但金额为相反数的总次数。
- -C2:取当前金额的相反数(如 43.08 → -43.08,-302.74 → 302.74)。
- 作用
举例:
- D2(金额=43.08):找整个表中单号=A0002 且金额=-43.08 的记录 → 如果没有 → 结果=0。
- D3(金额=-302.74):找整个表中单号=A0002 且金额=302.74 的记录 → 有3笔(D10、D14、D26)→ 结果=3。
3. 整体判断:左边 <= 右边
逻辑:当前行的“出现次数”是否 ≤ “能抵消它的总次数”?
举例:
- D2(43.08):左边=1,右边=0 → 1 <= 0?不成立 → FALSE。
- D3(-302.74):左边=1,右边=3 → 1 <= 3?成立 → TRUE。
- D10(135.55):左边=2(第2次出现),右边=1(只有1个-135.55)→ 2 <= 1?不成立 → FALSE。
应用场景
这个公式常用于财务对账或费用报销场景,目的是:
- 自动识别哪些费用是“真实发生且可报销”的(有对应支出/收入记录)。