有幾家廠商對不上(用 SUMPRODUCT 比較兩欄)
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
測試案例
1
2
3
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
題目
題目說明
月結前先數出「已付 != 已開立」的廠商:付款金額在 C2:C6、開立金額在 B2:B6。把數量填進 Mismatched 儲存格 E2。
必須用一條公式逐列比較兩欄——COUNTIFS 沒辦法拿一欄去比另一欄。
題目資料
用表格檢視整份資料(可選取、可複製)
| A | B | C | E | |
|---|---|---|---|---|
| 1 | Vendor | Invoiced | Paid | Mismatched |
| 2 | Acme | 5000 | 5000 | |
| 3 | Bolt | 3200 | 3000 | |
| 4 | Cobalt | 1800 | 1800 | |
| 5 | Dana | 900 | 950 | |
| 6 | Eli | 400 | 0 |
觀念解析
SUMPRODUCT(--(B2:B6<>C2:C6)) 逐列比較兩欄,把每一處不同變成 1,再加總。這正是 COUNTIFS 做不到的事:它的條件只能是常數,說不出「B 欄不等於 C 欄」。已付 0 也會算成不符,這是刻意的——沒人付錢就是最嚴重的不符。
解題思路
答案寫在 E2。送出時我們會換 3 組輸入重跑你的公式,寫死數字一定過不了 —— 公式必須跟著儲存格走。
- 目標儲存格是 E2
- 要逐列比較兩欄,不是整欄對整欄
- <> 會讓不同的列變成 TRUE
- 公式形狀:=SUMPRODUCT(--(? <> ?))
官方解法
展開 2 種解法(建議先自己試一次)
解法 1:直接數不同的列
=SUMPRODUCT(--($B$2:$B$6 <> $C$2:$C$6))
Bolt(3200 對 3000)、Dana(900 對 950)、Eli(400 對 0)三列不同,答案是 3。Acme 與 Cobalt 相符,貢獻 0。
解法 2:總列數減去相符的列
=ROWS($B$2:$B$6) - SUMPRODUCT(--($B$2:$B$6 = $C$2:$C$6))
五列減掉相符的兩列,剩下不相符的三列。結果相同,而且當你同時要報「相符筆數」時更好核對。
常見問題
怎麼在 Excel 裡逐列比較兩欄?
=SUMPRODUCT(--(A2:A10<>B2:B10)) 會數出不同的列數。COUNTIFS 做不到,因為它的條件只能是常數。
付款是空白或 0 算不算不符?
算。它不等於開立金額。月結時這通常正是你想抓的:完全沒付是最嚴重的不符。