Excel 使用三個內建函數來計算對數:LN(x) 回傳以 e 為底數的自然對數(約 2.71828),LOG10(x) 回傳以 10 為底數的常用對數,LOG(x, base) 則回傳以您指定底數計算的 x 之對數。對數回答一個問題:要把底數提高到多少次方才能得到某個特定數字?由於正數底數的任何實數次方都不可能產生 0 或負數,因此參數 x 必須大於 0;底數同樣必須大於 0 且不能等於 1 —— 若底數為 1,則 ln(b) = 0,並會在換底公式中導致除以零。在儲存格中輸入 =LN(8),Excel 會回傳約 2.0794;輸入 =LOG10(8) 則得到約 0.9031;輸入 =LOG(8, 2) 則精確得到 3,因為 2³ = 8。若需要快速抽查、不使用公式的工作,或是 log5、log7 這類不常見的底數,瀏覽器版的對數計算機會在您輸入時即時提供相同結果,並顯示 2^指數 形式的說明,將抽象的指數轉化為能在頁面上直接讀取的具體等式。

how to calculate logarithm in excel
how to calculate logarithm in excel

Excel 的三個內建對數函數

Excel 內建三個對數函數,幾乎涵蓋您在工作時會遇到的所有情境。下表比較了各函數的功能、您在儲存格中輸入的語法,以及 x = 8 的範例結果,方便您並列查看答案。

函數 語法 底數 x = 8 的範例 常見用途
LN =LN(x) e ≈ 2.71828 =LN(8) ≈ 2.0794 成長、半衰期、微積分、連續複利
LOG10 =LOG10(x) 10 =LOG10(8) ≈ 0.9031 pH 值、分貝、芮氏規模、恆星星等
LOG =LOG(x, base) 任何底數 > 0、≠ 1 =LOG(8, 2) = 3 資訊熵、O(log n) 執行時間、自訂底數

若 x 為 0 或負數,各函數皆會回傳 #NUM! 錯誤;若底數為 0、負數或 1,LOG 函數會回傳 #NUM!。Excel 的行為與數學定義一致 —— 對數計算機同樣強制執行這些輸入規則,並針對相同的無效組合顯示清楚的「未定義」訊息。若您的資料集包含零或空白,請將公式包在 IFERROR 中,或在套用這三個函數之前先將其過濾掉,否則一個錯誤的儲存格可能會污染整欄的結果。

逐步在 Excel 中計算對數

最可靠的工作流程是從一個已知值開始,輸入正確的函數,讓 Excel 回傳指數。請依照下列步驟為任何單一儲存格計算對數,然後將公式向下拖曳到一整欄的值。

  1. 點選您要放置答案的儲存格,輸入等號以開始公式。
  2. 依需求輸入 LN(、LOG10( 或 LOG(。
  3. 點選包含您參數的儲存格 —— 例如 A2 —— 或直接輸入正數。參數必須大於 0。
  4. 若使用 LOG,請加上逗號並輸入底數 —— 例如二元對數輸入 2、log5 輸入 5、log10 輸入 10。底數必須大於 0 且不能等於 1。您也可以參照另一個儲存格(例如 B2)作為底數。
  5. 輸入右括弧並按下 Enter。Excel 會立即顯示結果,並在參數或底數儲存格變更時自動更新。

舉例而言,若 A2 存放數字 1000,而您在 B2 儲存格中輸入 =LOG10(A2),Excel 會回傳 3,因為 10³ = 1000。將填滿控點向下拖曳,即可將公式複製到整欄的值,Excel 會自動重新計算每一列。若要將結果還原為原始數值,請將公式包在 10^B2(常用對數)、EXP(B2)(自然對數)或 base^B2(任何其他底數)中 —— 這就是反運算,是在您繼續下一步之前確認對數公式正確無誤的最快方法。

使用換底公式計算任意底數的對數

Excel 的 LOG 函數已可接受任意底數,對大多數使用者來說已綽綽有餘。但在兩種情況下,底層的換底公式非常有用:當您想明確展示運算過程以便向同事說明計算方式時,以及當您使用較舊的試算表或缺乏兩參數 LOG 形式的其他工具時。恆等式為:

log_b(x) = ln(x) ÷ ln(b)

在 Excel 中您可以直接輸入:

= LN(A2) / LN(B2)

其中 A2 存放 x,B2 存放底數。例如,log5(25) 會變成 =LN(25)/LN(5),Excel 會精確計算出 2,因為 5² = 25。對數計算機 內部同樣使用此恆等式來處理您輸入的任何底數,因此瀏覽器的結果始終與 Excel 中 =LN(x)/LN(b) 得到的結果一致。若您需要的底數不是 2、10 或 e —— 例如為某個冷門統計問題計算 log7(49) —— 在 Excel 中輸入 =LN(49)/LN(7) 同樣能立即回傳 2,還能讓您免於記住手持裝置上要按哪個對數按鈕。

使用瀏覽器計算機驗證 Excel 結果

當您處理一整欄冗長的資料時,公式的打字錯誤與不慎的儲存格參照很容易被忽略。快速檢驗任何 Excel 對數的方法是在另一個分頁開啟對數計算機進行比對。在計算機中輸入相同的參數與底數,結果會在您輸入時即時顯示,並同時列出同一數字的 ln(x)、log10(x) 與 log2(x),讓您一眼就能核對四個結果。所有運算皆在您的瀏覽器本機執行 —— 不會傳送任何資料到伺服器 —— 因此即使您在檢視敏感的財務或研究資料,計算機仍可離線運作並維持隱私。

若結果為整數,計算機會印出等號 —— log2(8) = 3 —— 避免您對尾端小數是否真實存在產生疑慮。對於像 log10(7) ≈ 0.845098 這類真正的無理數結果,計算機會顯示約等於符號,並保留完整的小數細節,讓答案保持誠實。微小的浮點誤差 —— 例如出現 3.0000000000000004 而非 3 —— 會被修剪至十二位有效數字,因此您絕不會看到被誤認為有意義數字的雜訊。這與您在手算時所期待的精度一致,足以在不隱藏任何真實小數結果的前提下,將零星的二進位雜訊還原為整數。

常見錯誤與輸入規則

Excel 與對數計算機強制執行相同的數學限制,事先辨識這些限制能為您節省處理看似合理、卻會產生 #NUM! 錯誤的資料時所花費的時間。

  • x 必須大於 0。正數底數的任意實數次方恆為正,因此任何指數都不可能產生 0 或負數 —— 對數在該處根本不存在。
  • 底數必須大於 0 且不能等於 1。若底數為 1,則 ln(b) = 0,並會在換底公式中導致除以零,且 1 的任何次方都只是 1。
  • 巢狀的 LN(0) 或對空白儲存格取 LN,在 Excel 中會回傳 #DIV/0!,因為 ln(0) 未定義。請將 0 替換為極小的正數備援值,或在套用公式前將該儲存格從範圍中過濾掉。
  • 當任一參數違反上述規則時,LOG(x, base) 會回傳 #NUM!。請務必在兩個儲存格皆存放有效的正數後,再改用 =LN(x)/LN(base)。

若有疑慮,請先將可疑的值與底數貼到對數計算機中 —— 若它回傳一個定義明確的數值,您就知道 Excel 中的公式將可正常運作;若顯示未定義訊息,您便能在錯誤輸入擴散至整欄之前將其攔截。當來源資料存在缺口、負數或零散文字值(Excel 會將其顯示為 #VALUE! 錯誤並出現在您的彙總表中)時,「先以瀏覽器檢查、再使用試算表公式」的這個兩步驟習慣,是維持模型整潔的最快方法。

若您在比較各種做法,如何在 Excel 中將軍事時間轉換為分鐘 一文對此有詳細說明。

若您在比較各種做法,在 Excel 中將以文字形式儲存的儲存容量值進行轉換 一文對此有詳細說明。