SIGN 函數的主要功能是判斷一個數值的正負狀態。只要輸入數字,它就會回傳 1(正數)、-1(負數)或 0(零),非常適合用來處理財務報表中的盈虧標示或業績增減趨勢。
Excel SIGN 函數語法
=SIGN(數值)| 參數 | 必填 | 說明 |
|---|---|---|
| 數值 | 是 | 要判斷正負號的實數、儲存格參照或計算公式。 |
回傳:回傳 1、-1 或 0 的整數結果。
適用版本:Excel 2003 以上版本、Microsoft 365 均適用。
SIGN 函數範例
範例 1:基本正負數判斷
判斷各專案的盈虧狀態,將淨利潤轉換為正負指標。
| 專案名稱 | 淨利潤 | 狀態標示 |
|---|---|---|
| 專案A | 15000 | |
| 專案B | -3200 | |
| 專案C | 0 |
在 C2 輸入公式:
=SIGN(B2)結果:1。儲存格 B2 的淨利潤數值為 15000,因為大於零,所以 SIGN 函數判斷其為正數並回傳結果 1。
範例 2:搭配 SWITCH 轉換為文字說明
根據庫存變動量的正負狀態,顯示對應的進出貨文字提示。
| 商品名稱 | 進出貨量 | 變動說明 |
|---|---|---|
| 滑鼠 | 50 | |
| 鍵盤 | -20 | |
| 螢幕 | 0 |
在 C2 輸入公式:
=SWITCH(SIGN(B2), 1, "進貨", -1, "出貨", 0, "無變動")結果:進貨。SIGN 先將 B2 的數值 50 轉換為 1,接著 SWITCH 函數根據結果 1 對應輸出「進貨」的文字說明,將數字轉為易讀的狀態。
範例 3:計算業績達標狀態
比較實際業績與目標業績,計算是否超越目標的指標。
| 業務員 | 實際業績 | 目標業績 | 達標指標 |
|---|---|---|---|
| 王小明 | 120000 | 100000 | |
| 陳怡君 | 85000 | 90000 | |
| 林家豪 | 95000 | 95000 |
在 D2 輸入公式:
=SIGN(B2-C2)結果:1。先計算實際業績減去目標業績的差額(20000),SIGN 函數判斷該差額為正數,回傳 1,表示已超越目標。
使用 SIGN 的技巧與注意事項
- SIGN 函數常與 IF、SWITCH 或 CHOOSE 函數搭配使用,將 1、-1、0 的結果轉換為更直觀的文字標籤(如增加、減少、持平)。
- 若要同時取得數值的絕對值(去掉正負號),可以使用 ABS 函數,ABS 與 SIGN 經常在複雜的財務公式中互補使用。
SIGN 常見錯誤與解決方法
| 錯誤 | 原因 | 解決方法 |
|---|---|---|
| #VALUE! | 參照的儲存格包含無法轉換為數字的文字或符號。 | 確保引數是純數字,若資料帶有文字字元,需先使用 SUBSTITUTE 或 VALUE 函數清除。 |
Google 試算表可以用 SIGN 嗎?
Google 試算表完全支援 SIGN 函數,語法和運作方式與 Excel 完全相同,可直接套用。
下載 SIGN 範例檔
上面的範例都整理在這個檔案裡,每個範例一個工作表,黃色格子是公式,可以直接改資料看結果變化:SIGN 範例.xlsx(範例公式都在試算表軟體實際計算過)。
常見問題
SIGN 函數跟 ABS 函數有什麼不同?
SIGN 函數只保留數值的正負號方向(回傳 1、-1 或 0),而 ABS 函數則是去掉正負號,只保留數值的大小(絕對值)。兩者功能剛好相反。
為什麼空白儲存格用 SIGN 判斷會回傳 0?
Excel 預設會將空白儲存格視為數值 0,因此 SIGN 函數判斷 0 的結果就是回傳 0。若要避免誤判,可先用 IF 函數檢查儲存格是否為空白。
可以用 SIGN 函數判斷日期嗎?
可以。在 Excel 中日期本質上是正整數,因此對正常的日期使用 SIGN 函數,結果一律會回傳 1。通常不會用 SIGN 來處理日期資料。
相關函數
這篇收錄在「Excel 函數字典」。




