本節課將介紹 Excel 中的自訂函數功能,讓你在處理複雜的資料時更加得心應手。
9.1 自訂函數的概念和使用方法
自訂函數 (User Defined Function, UDF) 是指在 Excel 中自行編寫的函數,可以根據自己的需求和要求進行編寫和使用。自訂函數可以大大擴展 Excel 的功能,讓使用者可以根據自己的需要創建特定的函數,並且可以重複使用。
自訂函數的編寫步驟如下:
- 打開 Excel 並創建一個新的工作表。
2. 選擇“開發人員”選項卡,選擇 “Visual Basic”,在 “Visual Basic” 中選擇插入,然後選擇模組。編寫自己的函數代碼。例如,以下是一個自訂函數,用於計算兩個數字的和:


Function AddNumbers(num1, num2)
AddNumbers = num1 + num2
End Function

3. 在 Visual Basic 編輯器中,選擇“檔案”功能表,然後選擇“保存”選項。
4. 回到 Excel 工作表,輸入函數名稱和參數,例如,輸入“=AddNumbers(2,3)”並按下“Enter”鍵,即可計算出兩個數字的和。

9.2 自訂函數的應用
自訂函數還可以嵌套使用,實現更為複雜的計算和操作。例如,以下是一個計算折扣回贈的例子:
商品編號 | 商品名稱 | 銷售單價 | 1月份銷售數量 |
---|---|---|---|
A0001 | iPhone | 7,000.00 | 32 |
A0002 | iPad | 4,500.00 | 53 |
A0003 | AirPods | 1,500.00 | 86 |
A0004 | MacBook | 12,000.00 | 17 |
A0005 | Apple TV | 3,000.00 | 49 |
套用以上第 8 節課的例子,我們可以得出以下的「1月份銷售額」數據:

假設我們要計算 1 月份的佣金回贈,佣金回贈金額的計算是:如果「1月份銷售數量」大於 50 件,則以第 51 件起的銷售額的 20% 作佣金回贈。我們可以在 “Visual Basic” 中編寫以下代碼來創建自訂函數。
Function Rebate(num1, num2)
If num1 > 50 Then
Rebate = (num1 - 50) * num2 * 0.2
Else
Rebate = 0
End If
Rebate = Application.Round(Rebate, 2)
End Function

該函數可以計算折扣回贈金額,輸入“=Rebate(D2,C2)”並按下“Enter”鍵,即可計算出。
9.3 使用自訂函數計算稅款的例子
我們甚至可以使用自訂函數進行更複雜的計算,以下是使用自訂函數簡單計算累進稅率下的稅款的例子,我們可以在 “Visual Basic” 中編寫以下代碼來創建自訂函數。
Function TaxPay(num)
If num > 132000 Then
If num > (132000 + 50000) Then
If num > (132000 + 50000 + 50000) Then
If num > (132000 + 50000 + 50000 + 50000) Then
If num > (132000 + 50000 + 50000 + 50000 + 50000) Then
TaxPay = 50000 * 0.02 + 50000 * 0.06 + 50000 * 0.1 + 50000 * 0.14 + (num - (132000 + 50000 + 50000 + 50000 + 50000)) * 0.17
Else
TaxPay = 50000 * 0.02 + 50000 * 0.06 + 50000 * 0.1 + (num - (132000 + 50000 + 50000 + 50000)) * 0.14
End If
Else
TaxPay = 50000 * 0.02 + 50000 * 0.06 + (num - (132000 + 50000 + 50000)) * 0.1
End If
Else
TaxPay = 50000 * 0.02 + (num - (132000 + 50000)) * 0.06
End If
Else
TaxPay = (num - 132000) * 0.02
End If
Else
TaxPay = 0
End If
TaxPay = Application.Round(TaxPay, 2)
End Function


在上圖中,右方是香港的累進稅率,左方是 7 個不同的全年收入例子。我們可以輸入“=TaxPay(A2)”並按下“Enter”鍵,即可簡單計算出各例子在累進稅率下的應繳稅款。
自訂函數的使用可以幫助用戶擴展 Excel 的功能,提高工作效率,並且可以讓使用者根據自己的需求和要求自訂特定的函數。自訂函數可以讓用家把複雜的計算公式放在 “Visual Basic” 中,然後在 Excel 版面中,只需輸入簡單的公式即可完成複雜的計算,這樣對「需要重複使用複雜公式」的用家有很大的幫助。