VBA Tan 函數:計算角度的正切值(Tangent)

VBA Tan 函數:計算角度的正切值(Tangent)

📅 發布日期:2026-09-01 🏷️ 分類:數學運算 VBA 函數
💡 函數速查卡
函數名稱 Tan
所屬類別 數學與三角函數 (Math & Trigonometry)
傳回類型 Double
常用頻率 ★★★☆☆

在 Excel VBA 的幾何與三角函數運算中,Tan 是用於計算「正切值(Tangent)」的內建函數。它接收以「弧度(Radian)」為單位的角度數值,並傳回其直角三角形對邊與鄰邊的比值。常用於工程計算、物理模擬、座標繪圖與斜率計算等領域。

一、 基本語法與參數

Tan 函數的標準語法結構如下:

Tan(number)
參數 說明 預設值 / 必填
number 要計算正切值的角度,單位必須為弧度(Radian)的雙精度浮點數(Double)。 必填

二、 核心功能說明

Tan 函數接收代表弧度的數值,並傳回對應的正切比值(對邊 / 鄰邊)。

在實際 VBA 自動化開發中,常見的使用情境包括:

  • 已知角度與鄰邊長度時,計算直角三角形的對邊高度。
  • 計算平面的傾斜角度與坡度斜率。
  • 導出其他幾何三角函數,例如餘切(Cotangent)、正割(Secant)等。

三、 實用程式碼範例

範例 1:角度轉換為弧度後計算 Tan 值

因為人們習慣使用「度數(Degree)」,在傳入 Tan 函數前必須先乘以 Pi / 180 轉換為弧度:

Sub CalculateTanExample()
    Dim degrees As Double
    Dim radians As Double
    Dim pi As Double
    Dim result As Double
    
    pi = 4 * Atn(1) ' 計算圓周率 Pi ≈ 3.14159265358979
    degrees = 45
    
    ' 角度轉弧度
    radians = degrees * (pi / 180)
    
    ' 計算 tan(45°),理論值應為 1
    result = Tan(radians)
    
    Debug.Print "Tan(" & degrees & "°) = " & result ' 輸出: 1
End Sub

範例 2:實務應用(已知仰角與距離,計算建築物高度)

假設站在距離建築物 50 公尺處,測得仰角為 30 度,利用 Tan 求解高度(對邊 = 鄰邊 * tan(θ)):

Sub CalculateBuildingHeight()
    Dim distance As Double: distance = 50 ' 距離 (公尺)
    Dim angleDegree As Double: angleDegree = 30 ' 仰角 (度)
    Dim pi As Double: pi = 4 * Atn(1)
    
    Dim height As Double
    height = distance * Tan(angleDegree * (pi / 180))
    
    Debug.Print "建築物高度為:" & Round(height, 2) & " 公尺" ' 輸出: 28.87 公尺
End Sub

範例 3:自訂衍生函數(計算餘切 Cotangent)

VBA 未提供內建的 Cot 函數,但可利用 1 / Tan(x) 自行撰寫:

Function Cot(radians As Double) As Double
    ' Cotangent(x) = 1 / Tan(x)
    Cot = 1 / Tan(radians)
End Function

四、 常見陷阱與注意事項

⚠️ 注意事項 1:輸入單位必須為「弧度 (Radians)」
Tan 函數不直接接收 0°~360° 的角度值。若直接輸入 Tan(45),VBA 會將 45 視為 45 弧度(約 2578.31 度),導致算出錯誤結果。公式轉換方式為:弧度 = 角度 * (Pi / 180)
⚠️ 注意事項 2:90 度(π/2 弧度)無意義與溢位問題
在數學上,tan(90°) 或 tan(270°) 的值為無窮大(趨近於極值),會產生除以零的情形。由於電腦浮點數精度的限制,極接近 90 度的數值可能會傳回極大的浮點數或引發溢位錯誤,在設計程式時需特別注意邊界條件檢查。

五、 相關函數推薦

  • Sin:計算指定角度(弧度)的正弦值。
  • Cos:計算指定角度(弧度)的餘弦值。
  • Atn:計算數值的反正切值(Arctangent),傳回對應的弧度。

六、 官方文件連結

想進一步瞭解更詳細的極端情境與進階用法,可參考微軟官方說明:

留言

相關文章 / 薪資情報

文章載入中...

你可能有興趣

精選文章 / 推薦情報

文章載入中...