單月預付費用攤銷(IF + 日期區間)
測試案例
1
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
測試案例
1
重設
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就緒 請在反白的目標儲存格輸入公式,然後點「提交」。
題目
題目說明
B1 的預付費用自 B2 起分 B3 個月平均攤銷。把 F2 所屬月份的費用填進 Expense 儲存格 D2,四捨五入到兩位小數。
超出攤銷區間就是 0——不是永遠每月都提同樣金額。
題目資料
用表格檢視整份資料(可選取、可複製)
| A | B | D | F | |
|---|---|---|---|---|
| 1 | Prepaid total | 12000 | Expense for month | Month to report |
| 2 | Start | 2026-01-15 | 2026-03-15 | |
| 3 | Months | 12 |
觀念解析
區間是 [開始, 開始 + 月數):開始當月算在內,最後一個月的下個月不算。用 DATE(YEAR(開始), MONTH(開始)+月數, 1) 組出結束日,可以避開 EDATE 對文字日期失效的問題,因為 DATE 用的是數字。
解題思路
答案寫在 D2。
- 目標儲存格是 D2
- 每月金額是總額 ÷ 月數
- 判斷 F2 不早於開始、且早於結束
- 公式形狀:=IF(AND(?, ?), ROUND(?, ?), ?)
函數指南
常見問題
怎麼按月攤銷預付費用?
每月金額 = 總額 / 月數,且只在區間內:日期 >= 開始 且 < 開始 + 月數。
為什麼最後一個月算了兩次?
區間兩端都設成含頭。改用「最後一個月的次月 1 日」當上界,就是 DATE(YEAR(開始), MONTH(開始)+月數, 1)。