如何在Excel中合併單元格:綜合指南
由團隊撰寫 Iron Software
Excel中的減法是圍繞一個運算符構建的:減號。 不同於擁有自身SUM函式的加法,Excel沒有專門的減法函式。 在Excel中,減法是使用減號 (-) 作為算術運算符來完成的,而不是使用專門函式,這個單一運算符可以處理從簡單的兩個數字減法到整個列、百分比、日期和時間值的減法。 每個公式都以公式欄中的等號開始,包含Excel中的單元格引用或直接數字,然後按Enter顯示結果。
了解Excel計算減法公式時實際發生的情況使得更高級的方法更容易跟隨。 當您希望在工作表中減去其他單元格的某個值時,直接引用那些單元格總是比重新輸入數字更可靠。 將數值輸入到一個單元格中,在公式中引用它,一旦源單元格發生變化,每個引用它的公式會自動重新計算。 這使得基於單元格的減法比在每個公式中輸入原始數字更有用。 如果範圍內的單元格為空,Excel在計算時將其視為零,因此範圍中的空單元格不會破壞公式。
本指南涵蓋了2026年在Excel中減法的每一種方法:使用減號的簡單減法、減去多個單元格、使用SUM函式減去範圍、使用絕對引用減去整個列、減去百分比、減去日期以找到天數差異、減去時間值以及處理負數。 需要在.NET應用程式中對Excel文件應用減法公式的開發者可以在最後找到一節,介紹IronXL如何在C#中處理這一點,無需安裝Microsoft Office。
方法1:使用減號的簡單減法
最佳用途:快速減去兩個數字或兩個單元格,日常計算。
可以使用直接數字或單元格引用來執行簡單減法。 這是本指南中其他所有方法的起點。
直接減去兩個數字:
- 點擊工作表上的任意空單元格。
- 鍵入等號 (=) 以在公式欄中開始公式。
- 鍵入第一個數字,然後是減號 (-),再是第二個數字。 例如:=100-50
- 按Enter。 Excel將計算並在單元格中顯示結果(50)。
使用單元格引用來減法:
- 將您的數值輸入到不同的單元格中。 例如,在B5單元格中輸入250,在C5單元格中輸入120。
- 點擊要顯示結果的空單元格。
- 在公式欄中鍵入 =B5-C5。
- 按Enter。 結果(130)出現在單元格中。
當處理跨不同單元格的兩個或多個數字時,要在Excel中減去不同單元格的值,從鍵入等號 (=) 開始,然後點擊包含起始值的單元格,輸入減號,然後按Enter前點擊包含被減數的單元格。 直接點擊單元格而不是輸入其地址更快且減少了打字錯誤的可能性。
當輸入公式時,如果點擊單元格,Excel會自動插入其地址。 這比手動輸入單元格引用更快,並消除了單元格地址中的拼寫錯誤。

方法2:在單一公式中減去多個單元格
最佳用途:從起始值中減去三個或更多個單獨的單元格。
要在Excel中減去多個單元格,可以連結減號運算符。 當減去多個單元格時,您可以使用公式,如 =A1-A2-A3-A4-A5 以從A1中的值中減去A2至A5單元格的值。
步驟:
- 點擊您想要結果顯示的單元格。
- 輸入=,然後是您的第一個單元格引用(起始值)。
- 輸入減號,然後是下一個單元格引用。
- 對要減去的每個附加單元格重複減號和單元格引用。
- 當所有單元已新增後按Enter。
例如,將單元格B2、C2和D2從A2中減去:=A2-B2-C2-D2。這個公式允許您一次減去多個單元格。
使用SUM函式來獲得更清晰的公式:
當減去許多單元格時,連結減號變得笨重。 使用SUM函式可以簡化多個單元格的減法。 例如,=A1-SUM(A2:A5) 將A2到A5單元格的總和從A1中的值中減去。
您可以使用SUM()函式從單個單元格減去一個範圍的單元格,寫一個公式如 =A1-SUM(A2:A5),這會將A2到A5中的值相加,然後將其總和從A1中減去。減去多個單元格的另一種方法是將減去的值放在SUM本身中的負數參數。 在Excel中,減去一個正數等同於加上一個負數,如公式 =SUM(100, -20, -10) 其結果是70。這意味著您可以通過將所有數字列為帶負號的參數來一次減去多個數字,避免需要加號或鏈式減號運算符。 這意味著 =SUM(A1,-A2,-A3,-A4,-A5) 的結果與 =A1-A2-A3-A4-A5 相同。
您也可以通過鍵入類似於 =E1-E3-E4-E5-E6-E7 的公式從單個單元格減去一個範圍的單元格,或簡單地使用 =E1-SUM(E3:E7) 使其更高效。
使用SUM函式方法通常被首選用於減去許多單元格,因為它可以清楚地將起始值與正在減去的值分開,而且可以使審計變得更簡單。

方法3:使用絕對引用減去整個列
最佳用途:對列中的每一行應用相同的固定扣除,例如標準稅、折扣或費用。
當您需要從列中的每一個單元格減去一個固定值時,絕對引用會鎖定一個單元格地址,使其在您向下拖公式時不會移動。
要從Excel中的整個列中減去一個特定值,您可以在公式中使用絕對引用,例如 =A2-$B$2,這在向下拖公式時保持引用固定。 在Excel中向下拖一個公式時,絕對引用會防止引用移動。
步驟:
- 將您的固定扣除值放在一個單元格中,例如在C17單元格中輸入$250。
- 在第一個結果單元格中,鍵入 =B17-$C$17。列字母和行號前的美元符號建立了絕對引用。
- 按Enter確認公式。
- 再次點擊結果單元格,然後向下拖動填充柄(單元格右下角的小方塊)以將公式複製到所有以下行。
每一行計算其在B列中的值減去C17中的相同固定值。如果您後來改變了C17中的值,該列中的每個公式會同時更新。
當在輸入公式時點擊一個單元格引用,按F4快速切換絕對和相對引用型別。按一次F4新增兩個$符號(絕對),按兩次僅鎖定行,按三次僅鎖定列。
方法4:減去兩列(列對列)
知道如何減去列是比照多列資料時必需的,如預算與實際數字的比較或銷售目標相對於結果的比較。
要從另一列減去整個列,請在第一個結果單元格中輸入公式並將其向下拖動。
- 在第一行的結果單元格中(例如D3),鍵入 =B3-C3。
- 按Enter。
- 再次點擊D3並向下拖動填充柄穿過所有包含資料的行。
Excel會將公式複製到每一行中,自動調整行號(D4變為 =B4-C4,D5變為 =B5-C5,如此類推)。 這稱為相對引用,是當單元格地址不包含美元符號時的預設行為。
要從另一列減去整個列,SUM函式還可以與減號一起用於希望單個總數時更快的計算:=SUM(B3:B14)-SUM(C3:C14) 在單個單元格中給出所有行的總變數。
方法5:減去百分比
最佳用途:計算折扣價、稅收扣除或任何以百分比表示的減少。
在Excel中減去百分比,公式語法為 =數字-(數字百分比)。 例如,要從100減去10%,您將使用公式 =100-(10010%)。
您也可以在公式中使用單元格引用,例如 =A2-(A2*$B$2),其中A2包含數字,B2包含百分比。 這種方法讓您可以更改一個單元格中的折扣或稅率,而每一行會自動重新計算。
步驟:
- 在一個單元格中輸入原始值,例如在B4單元格中輸入1200。
- 在另一個單元格中輸入百分比,例如在C4單元格中輸入0.10(格式化為10%)。
- 在結果單元格中鍵入 =B4-(B4*C4)。
- 按Enter。 Excel計算1200減去1200的10%(120),顯示1080。括號內的乘法先運行,然後將減法應用於結果。
如果百分比存放在固定引用單元格中,使用絕對引用將其鎖定:=B4-(B4*$C$4)。 向下拖動此公式到列中以對多個值應用相同的百分比扣除,同時保持百分比單元格固定。

確保百分比單元格格式化為百分比(而不是普通數字)。 如果B4包含10而非10%,公式 =A2-(A2*B4) 將減去1000%而非10%。
方法6:減去日期以找到天數差異
最佳用途:計算項目工期、合同期限、發票齡期或兩個事件之間經過的天數。
要在Excel中減去日期,您可以使用公式 =結束日期 - 開始日期,這會告訴您兩個日期之間的天數。 Excel將日期值作為序列號儲存,從1900年開始計算為1,這就是為什麼減去日期與減去數字完全一樣。
步驟:
- 在一個單元格中輸入開始日期,例如在B11單元格中輸入05-Jan-2026。
- 在另一個單元格中輸入結束日期,例如在C11單元格中輸入30-Apr-2026。
- 在結果單元格中鍵入 =C11-B11。
- 按Enter。
如果日期減法的結果顯示為奇怪的數字或另一個日期而不是普通的天數計算,將單元格格式更改為常規或數字將顯示正確的天數。 右鍵點擊結果單元格,選擇 格式化單元格,選擇 常規 或 數字,然後點擊確定。

方法7:減去時間值
最佳用途:計算工作時間、會議時長或兩個時間戳之間的經過時間。
要在Excel中減去時間值,使用公式 =結束時間 - 開始時間,確保結果單元格格式化以正確顯示時間。
步驟:
- 在一個單元格中輸入開始時間,例如在B18單元格中輸入9:00 AM。
- 在另一個單元格中輸入結束時間,例如在C18單元格中輸入5:30 PM。
- 在結果單元格中鍵入 =C18-B18。
- 按Enter。
在Excel中減去時間時,將結果單元格格式化為時間或使用自定義格式如 [h]:mm 以正確顯示小時。 方括號中的h允許小時超過24,這對於累積時間總數很重要。
要在Excel中找到兩個時間值之間的經過時間,請在一個單元格中輸入開始時間,另一個單元格中輸入結束時間,然後使用公式 =結束時間 - 開始時間。在演示文件中的工作班例子中,從9:00 AM到5:30 PM的結果為8:30(八小時三十分鐘)。
對於夜間班,當結束時間早於開始時間時(例如從10:00 PM到6:00 AM),使用公式 =1+C20-B20以考慮日期過午夜的情況。 不加 +1 的情況下,Excel會返回負數時間值,顯示為散列(######)。
方法8:減去負數
最佳用途:了解負數如何與減法公式互動。
減法中的負數表現得就像它們在標準算術中一樣。 減去負數會產生一個加法結果。
- =10-(-5) 返回15(減去負5等於加上5)
- =A1-B1其中B1包含-50,A1包含100返回150
在報告或財務資料中使用負數時,減號運算符正確處理它們,無需任何特殊語法。 值上的負號是值本身的一部分,而不是公式運算符。
如果您需要以特定格式顯示負數,右鍵單元格,選擇 格式化單元格,並選擇使用括號或紅色字體的數字格式,這兩種格式都在單元格格式對話框中的數字類別下可用。
對於使用網格式資料的使用者,可以在Excel中使用陣列公式減去矩陣。 要減去相同維度的兩個矩陣,選擇結果範圍,鍵入 =A2:C4-E2:G4,然後按 Ctrl + Shift + Enter(在Microsoft 365中只需按Enter)。 Excel在兩個矩陣中同時進行逐元素的減法。
常見問題和排除故障
公式顯示文字而不是數字
這發生在單元格格式化為文字後您鍵入公式時。 等號被視為字元而不是公式觸發器。 點擊單元格,進入 首頁 > 數字格式下拉選單,並將其更改為常規,然後重新輸入公式。
日期減法顯示為日期或小數而不是天數
如果日期減法的結果顯示為日期(例如 14-Jan-1900)或小數,則結果單元格格式化為日期或時間而不是數字。 右鍵點擊結果單元格,選擇 格式化單元格,選擇 常規,然後點擊確定以顯示正確的天數計算。
當源單元格改變時公式結果未更新
Excel可能設置為手動計算模式。 按下 Ctrl + Alt + F9 強制進行全面重新計算,或者前往 公式 > 計算選項 > 自動 返回預設設置,使得Excel每次改變時自動計算結果。
拖動公式改變一個應該保持固定的引用
沒有美元符號的單元格引用(如C17)變為相對引用,並在拖動公式時移動。 要將其鎖定,點擊公式欄中的引用並按F4加入美元符號,使其成為絕對引用($C$17)。 如果試算表中已經使用了公式,請在整個列中查找並替換引用。
結果顯示#VALUE! 在減去之後
這個錯誤通常意味著被減去的某個單元格包含文字而不是數字。 檢查公式中引用的每個單元格。 常見原因包括數字前的空格、從其他系統導入的文字格式的數字,或作為文字字串儲存的日期而非實際日期值。
減去時間顯示結果為零或######
零通常意味著開始時間和結束時間在相同的單元格中格式不同。 ###### 通常意味著結果為負數(例如夜班沒有進行+1調整)或列太窄以顯示值。 展開列或使用[h]:mm自訂格式解決顯示問題。
快速參考:Excel中的減法方法
下表涵蓋了本指南中討論的每個減法實例,其中包括公式模式及關鍵註釋。
| 目標 | 公式範例 | 筆記 |
|---|---|---|
| 直接減去兩個數字 | =100-50 | 簡單減法,不需要單元格引用 |
| 減去兩個單元格 | =A1-B1 | 當數值變化時自動更新 |
| 減去多個單元格 | =A1-B1-C1-D1 | 為每個單元連結減號 |
| 使用SUM減去一個範圍 | =A1-SUM(B1:E1) | 比連結許多減號更清晰 |
| 使用負SUM參數減法 | =SUM(A1,-B1,-C1) | 減法是加上一個負數 |
| 減去整個列 | =B2-$C$2然後向下拖動 | 絕對引用保持扣除固定 |
| 減去整列 | =B3-C3然後向下拖動 | 相對引用自動按行移動 |
| 減去百分比 | =A2-(A2*10%) | 括號控製計算次序 |
| 減去日期 | =C11-B11 | 將結果格式化為數字以查看天數 |
| 減去時間值 | =C18-B18 | 將結果格式化為[h]:mm顯示小時 |
| 帶總數的跨列減法 | =SUM(B2:B14)-SUM(C2:C14) | 兩列的單一差異總和 |
對於開發者:在Excel文件中使用IronXL應用減法公式
如果您的.NET應用程式生成包含減法計算的Excel報告、財務摘要或資料導出,IronXL允許您使用C#將這些公式直接寫入單元格,而不需要在伺服器上安裝Microsoft Office。
IronXL支持超過165種Excel公式,可以通過將公式字串分配給任何單元格的Formula屬性來設置減法公式。 公式字串使用標準的Excel語法,因此您在Excel中輸入的同一公式在通過IronXL設置時會相同地工作。 設置公式後,調用workBook.EvaluateAll()會強制重新計算,讓每個公式結果在文件保存之前是最新的。
這裡是一個實際的例子,建立了一個預算差異報告,應用跨兩列的單元格對單元格減法,並使用SUM函式計算總數:
using IronXL;
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = workBook.DefaultWorkSheet;
ws.Name = "Budget Variance";
// Column headers
ws["A1"].Value = "Department";
ws["B1"].Value = "Budget";
ws["C1"].Value = "Actual";
ws["D1"].Value = "Variance";
// Sample data rows
string[] depts = { "Engineering", "Marketing", "Sales", "HR", "Operations" };
int[] budgets = { 480000, 220000, 310000, 95000, 260000 };
int[] actuals = { 512000, 198000, 327000, 88000, 241000 };
for (int i = 0; i < depts.Length; i++)
{
int row = i + 2;
ws[$"A{row}"].Value = depts[i];
ws[$"B{row}"].Value = budgets[i];
ws[$"C{row}"].Value = actuals[i];
// Subtract Actual from Budget to get Variance
// Standard Excel subtraction formula - no SUBTRACT function exists
ws[$"D{row}"].Formula = $"=B{row}-C{row}";
}
// Total row using SUM-based subtraction
int totalRow = depts.Length + 2;
ws[$"A{totalRow}"].Value = "Total";
ws[$"B{totalRow}"].Formula = $"=SUM(B2:B{totalRow - 1})";
ws[$"C{totalRow}"].Formula = $"=SUM(C2:C{totalRow - 1})";
// Total variance: subtract sum of actuals from sum of budgets
ws[$"D{totalRow}"].Formula = $"=B{totalRow}-C{totalRow}";
// Recalculate all formulas before saving
workBook.EvaluateAll();
workBook.SaveAs("budget-variance-report.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet ws = workBook.DefaultWorkSheet;
ws.Name = "Budget Variance";
// Column headers
ws["A1"].Value = "Department";
ws["B1"].Value = "Budget";
ws["C1"].Value = "Actual";
ws["D1"].Value = "Variance";
// Sample data rows
string[] depts = { "Engineering", "Marketing", "Sales", "HR", "Operations" };
int[] budgets = { 480000, 220000, 310000, 95000, 260000 };
int[] actuals = { 512000, 198000, 327000, 88000, 241000 };
for (int i = 0; i < depts.Length; i++)
{
int row = i + 2;
ws[$"A{row}"].Value = depts[i];
ws[$"B{row}"].Value = budgets[i];
ws[$"C{row}"].Value = actuals[i];
// Subtract Actual from Budget to get Variance
// Standard Excel subtraction formula - no SUBTRACT function exists
ws[$"D{row}"].Formula = $"=B{row}-C{row}";
}
// Total row using SUM-based subtraction
int totalRow = depts.Length + 2;
ws[$"A{totalRow}"].Value = "Total";
ws[$"B{totalRow}"].Formula = $"=SUM(B2:B{totalRow - 1})";
ws[$"C{totalRow}"].Formula = $"=SUM(C2:C{totalRow - 1})";
// Total variance: subtract sum of actuals from sum of budgets
ws[$"D{totalRow}"].Formula = $"=B{totalRow}-C{totalRow}";
// Recalculate all formulas before saving
workBook.EvaluateAll();
workBook.SaveAs("budget-variance-report.xlsx");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim ws As WorkSheet = workBook.DefaultWorkSheet
ws.Name = "Budget Variance"
' Column headers
ws("A1").Value = "Department"
ws("B1").Value = "Budget"
ws("C1").Value = "Actual"
ws("D1").Value = "Variance"
' Sample data rows
Dim depts As String() = {"Engineering", "Marketing", "Sales", "HR", "Operations"}
Dim budgets As Integer() = {480000, 220000, 310000, 95000, 260000}
Dim actuals As Integer() = {512000, 198000, 327000, 88000, 241000}
For i As Integer = 0 To depts.Length - 1
Dim row As Integer = i + 2
ws($"A{row}").Value = depts(i)
ws($"B{row}").Value = budgets(i)
ws($"C{row}").Value = actuals(i)
' Subtract Actual from Budget to get Variance
' Standard Excel subtraction formula - no SUBTRACT function exists
ws($"D{row}").Formula = $"=B{row}-C{row}"
Next
' Total row using SUM-based subtraction
Dim totalRow As Integer = depts.Length + 2
ws($"A{totalRow}").Value = "Total"
ws($"B{totalRow}").Formula = $"=SUM(B2:B{totalRow - 1})"
ws($"C{totalRow}").Formula = $"=SUM(C2:C{totalRow - 1})"
' Total variance: subtract sum of actuals from sum of budgets
ws($"D{totalRow}").Formula = $"=B{totalRow}-C{totalRow}"
' Recalculate all formulas before saving
workBook.EvaluateAll()
workBook.SaveAs("budget-variance-report.xlsx")
要使用絕對參考模式應用固定扣除,將公式字串按您在Excel中的方式精確地使用$符號書寫:
using IronXL;
WorkBook workBook = WorkBook.Load("payroll.xlsx");
WorkSheet ws = workBook.DefaultWorkSheet;
// Fixed tax deduction is stored in cell C1
ws["C1"].Value = 250;
// Apply =B2-$C$1 to rows 2 through 20 (absolute reference to C1)
for (int row = 2; row <= 20; row++)
{
ws[$"D{row}"].Formula = $"=B{row}-$C$1";
}
workBook.EvaluateAll();
workBook.SaveAs("payroll-net-pay.xlsx");
using IronXL;
WorkBook workBook = WorkBook.Load("payroll.xlsx");
WorkSheet ws = workBook.DefaultWorkSheet;
// Fixed tax deduction is stored in cell C1
ws["C1"].Value = 250;
// Apply =B2-$C$1 to rows 2 through 20 (absolute reference to C1)
for (int row = 2; row <= 20; row++)
{
ws[$"D{row}"].Formula = $"=B{row}-$C$1";
}
workBook.EvaluateAll();
workBook.SaveAs("payroll-net-pay.xlsx");
Imports IronXL
Dim workBook As WorkBook = WorkBook.Load("payroll.xlsx")
Dim ws As WorkSheet = workBook.DefaultWorkSheet
' Fixed tax deduction is stored in cell C1
ws("C1").Value = 250
' Apply =B2-$C$1 to rows 2 through 20 (absolute reference to C1)
For row As Integer = 2 To 20
ws($"D{row}").Formula = $"=B{row}-$C$1"
Next
workBook.EvaluateAll()
workBook.SaveAs("payroll-net-pay.xlsx")
IronXL運行在.NET 6及更高版本,並完全相容Windows、Linux、macOS、Docker和Azure。 因為它直接寫入Open XML格式而不啟動Excel,它適合於高容量的伺服器端報告生成。 C#中的Excel公式指南和編輯Excel公式指南涵蓋了可用的完整公式操作範圍。
開始使用: 透過NuGet安裝 IronXL.Excel 安裝包。 可用30天全功能免費試用,不需要信用卡。
進一步閱讀:
包裝
Microsoft Excel中的每個減法任務都回到同一個運算符:減號。 從鍵入 =A1-B1 以快速獲取兩個單元格差異到使用 =A1-SUM(B1:E1) 獲得更清晰的多個單元格公式,無論涉及多少單元格或列,模式始終一致。 帶有美元符號的絕對引用在跨行拖動公式時保持固定值鎖定,一旦結果單元格格式正確,同樣的減號運算符還可無縫處理百分比、日期和時間值。
對於百分比減法,公式 =數字-(數字*百分比) 適用於任何比率。 對於日期,=結束日期-開始日期 直接返回天數,只要將結果單元格格式化為數字而不是日期。 對於時間,=結束時間-開始時間 采用[h]:mm格式給出準確的經過時間,包括小時數超過24的情況。在每種情況下,請記住Excel沒有專門的減法函式:減法始終是減號,並且來源資料中的負數完全按照預期行為運行。
在.NET應用程式中生成Excel文件的開發人員可以通過設置Formula屬性中的減法公式並調用EvaluateAll()確保所有結果在保存前是最新的來複製所有這些模式與IronXL。 開始使用免費試用在您自己的項目環境中探索全公式支持。




