如何在工作表中編輯公式
Excel 公式是一個以等號開頭的表達式 (= ) 用於數學計算、資料操作以及基於儲存格值進行結果導出的過程。公式可以包含算術運算、函數、儲存格參照、常數和邏輯運算。公式能夠隨著儲存格值的變化而動態更新,使Excel成為一個多功能的自動化任務和資料分析工具。
IronXL 支持在Excel文件中編輯現有公式、從公式中檢索結果並強制重新評估工作簿。這確保每個公式都會重新計算以獲得準確的結果。IronXL 支持超過 165 種公式。
如何在工作表中編輯公式
- 下載 C# 庫以編輯工作表中的公式
- 建立一個新的 Excel 檔案或導入現有檔案
- 編輯或設置 公式 將公式分配到儲存格的屬性
- 通過訪問檢索結果值 格式化單元格值 儲存格的屬性
- 匯出編輯過的Excel文件
立即開始在您的專案中使用IronPDF,並享受免費試用。
查看 IronXL 上 Nuget 快速安裝和部署。已被下載超過800萬次,它正用C#改變Excel。
Install-Package IronXL.Excel
請考慮安裝 IronXL DLL 直接下載並手動安裝到您的專案或GAC表單: IronXL.zip
手動安裝到您的項目中
下載DLL編輯公式範例
要編輯或設置公式,請訪問 Formula 屬性。首先,選擇一個範圍或單元格,然後訪問並設置 Formula 屬性。Formula 屬性既是獲取也可以設置的屬性,返回公式字符串(如果有的話)。調用 EvaluateAll
方法重新評估整個工作簿,確保計算準確。
:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-edit-formulas.cs
using IronXL;
// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");
// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Edit or Set formula
workSheet["A4"].Formula = "=SUM(A1,A3)";
// Reevaluate the entire workbook
workBook.EvaluateAll();
Imports IronXL
' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")
' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Edit or Set formula
Private workSheet("A4").Formula = "=SUM(A1,A3)"
' Reevaluate the entire workbook
workBook.EvaluateAll()
從公式中取得結果
雖然有時可以從選定範圍和儲存格的 Value 屬性中取得結果,但建議從儲存格的 FormattedCellValue 屬性中取得更準確的公式結果。在選定範圍內,可以通過調用 First
方法來訪問儲存格。此方法將選擇列表中的第一個元素,在我們的案例中是儲存格 "A4"。從那裡,你可以訪問 FormattedCellValue 屬性。
:path=/static-assets/excel/content-code-examples/how-to/edit-formulas-retrieve-formula-value.cs
using IronXL;
using System;
using System.Linq;
// Load workbook
WorkBook workBook = WorkBook.Load("Book1.xlsx");
// Select worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Retrieve the result value
string value = workSheet["A4"].First().FormattedCellValue;
// Print the result to console
Console.WriteLine(value);
Imports IronXL
Imports System
Imports System.Linq
' Load workbook
Private workBook As WorkBook = WorkBook.Load("Book1.xlsx")
' Select worksheet
Private workSheet As WorkSheet = workBook.DefaultWorkSheet
' Retrieve the result value
Private value As String = workSheet("A4").First().FormattedCellValue
' Print the result to console
Console.WriteLine(value)
支援的公式
Excel 包含超過 450 個可以用於各種計算目的的公式。IronXL 支援約 165 個最常用的公式。請檢查以下支援的公式:
公式名稱 | 描述 |
---|---|
ABS | 返回數字的絕對值,無論其符號如何。 |
整數 | 將一個數字向下取整至最接近的整數。 |
計數 | 計算在指定範圍內包含數字的單元格數量。 |
如果 | 進行條件測試,如果條件為真則返回一個值,否則返回另一個值。 |
總和 | 累加一系列數字。 |
平均值 | 計算一個數字範圍的平均值。 |
最小 | 返回數字集中最小的值。 |
最大 | 返回一組數字中的最大值。 |
行列 | 返回單元格參考的行號。 |
列 | 返回單元格引用的列號。 |
NA | 表示 "無法取得" 或缺失資料的錯誤值。 |
淨現值 | 計算指定折現率下的一系列現金流量的淨現值。 |
標準差 | 計算一組數字的標準差。 |
簽名 | 返回數字的符號為:-1 表示負數,0 表示零,或 1 表示正數。 |
回合 | 將數字四捨五入到指定的小數位數。 |
查詢 | 在範圍中搜尋一個值,並從另一個範圍返回相應的值。 |
索引 | 返回指定範圍內某行某列的單元格值。 |
再複製 | 將文字字符串重複指定的次數。 |
中间层 | 從給定的字串中根據指定的起始位置和長度提取一部分文字。 |
長 | 返回文字字符串中的字符數。 |
價值 | 將表示數字的文本字串轉換為實際數字。 |
真 | 表示「True」的邏輯值。 |
假 | 表示邏輯值為「假」。 |
和 | 檢查所有指定的條件是否為真,如果是,則返回 "True",否則返回 "False"。 |
或 | 檢查是否至少有一個指定條件為真,如果是,則返回“True”,否則返回“False”。 |
不 | 反轉條件的邏輯值,將「True」變為「False」,反之亦然。 |
MOD | 返回一個數被另一個數除時的餘數。 |
D最小 | 根據指定的條件從資料庫中提取最小值。 |
變數 | 計算一組數字的變異數。 |
文本 | 將數字轉換為使用指定格式的文字。 |
PV | 根據一系列現金流和折現率計算投資或貸款的現值。 |
未來價值 (FV) | 根據定期付款和指定的利率計算投資或貸款的未來價值。 |
NPER (期數) | 確定達到特定財務目標所需的付款期數,假設定期付款和利率。 |
PMT (Payment) - 付款 | 計算償還貸款或投資的定期付款,包括本金和利息。 |
利率 (Interest Rate) | 計算達到財務目標所需的利率與一系列定期付款。 |
修正內部報酬率 (MIRR) | 計算一系列現金流的內部收益率,解決多個再投資和融資利率的問題。 |
內部收益率 (IRR) | 計算一系列現金流的內部報酬率,表示投資的平衡點率。 |
R和 | 生成介於0和1之間的隨機小數。 |
匹配 | 在範圍內搜尋指定的值,並返回找到項目的相對位置。 |
日期 | 通過指定年、月和日來創建日期值。 |
時間 | 通過指定小時、分鐘和秒來創建時間值。 |
天 | 從給定的日期中提取日期。 |
月份 | 從給定日期中提取月份。 |
年 | 從給定日期中提取年份。 |
WEEK天 | 返回指定日期的星期幾。 |
小時 | 從給定的時間中提取小時。 |
最小UTE | 從指定時間中提取分鐘。 |
第二 | 從給定的時間中提取秒數。 |
現在 | 返回目前的日期和時間。 |
區域 | 計算參照中不同範圍的數量。 |
行列S | 計算指定範圍內的行數。 |
列S | 計算指定範圍內的列數。 |
偏移 | 返回從指定單元格以一定行數和列數偏移的參考。 |
搜尋 | 搜索文本字符串中的子字串並返回其位置。 |
轉置 | 轉置範圍的行和列。 |
ATAN2 | 計算指定 x 和 y 座標的反正切。 |
ASIN | 計算指定值的反正弦。 |
反餘弦函數 | 計算指定值的反餘弦。 |
選擇 | 根據指定的位置從一個值列表中返回一個值。 |
H查詢 | 在表格或範圍的第一行搜尋一個值,並從指定的行中返回同一列中的值。 |
V查詢 | 在表格或範圍的第一列中搜尋一個值,並在同一列中從指定的欄位返回一個值。 |
ISREF | 檢查一個值是否為參考,並返回「True」如果是,或「False」如果不是。 |
日誌 | 計算指定底數的數字對數。 |
字元 | 返回由給定數字指定的字符。 |
低檔 | 將文字轉換為小寫。 |
上 | 將文字轉換為大寫。 |
正確 | 將文字串中的每個單詞首字母大寫。 |
左 | 從文本字符串的開頭提取指定數量的字符。 |
正確 | 從文字串的結尾提取指定數量的字符。 |
精確 | 比較兩個文字字串,如果它們相同則返回「True」,如果它們不同則返回「False」。 |
裁剪 | 從文字串中移除多餘的空格,但保留單詞之間的單一空格。 |
替換 | 將文字字符串中指定數量的字符替換為新文字。 |
替代 | 在字串中用新文字替換指定文字的出現次數。 |
代碼 | 返回文本字符串中第一個字符的數值 Unicode 值。 |
查找 | 在文本字符串中搜尋特定的子字串並返回其位置。 |
ISERR | 檢查某值是否為除「#N/A」之外的錯誤值,如果是,則返回「True」,否則返回「False」。 |
IS文本 | 檢查某個值是否為文字,若是則返回「True」,否則返回「False」。 |
ISNUMBER | 檢查數值是否為數字,如果是則返回 "True",如果不是則返回 "False"。 |
是否為空 | 檢查單元格是否為空,如果空返回「True」,如果不空返回「False」。 |
T | 將值轉換為文本格式。 |
日期價值 | 將表示為文本的日期轉換為日期序列號。 |
清理 | 移除文字中的非打印字符。 |
行列式 | 計算數組的矩陣行列式。 |
最小VERSE | 返回矩阵的乘法逆矩阵(倒数)。 |
MMULT | 將兩個矩陣相乘。 |
IPMT | 計算特定期間的貸款還款利息部分。 |
PPMT | 計算在指定期間內貸款付款的本金部分。 |
計數A | 計算範圍內非空白儲存格的數量,包括文字和數字。 |
產品 | 將範圍內的所有數字相乘。 |
事實 | 計算一個數字的階乘。 |
ISNON文本 | 檢查一個值是否不是文字,如果不是文字則返回 "True",如果是文字則返回 "False"。 |
變數P | 基於樣本估計母體變異數。 |
截斷 | 將數字截斷為指定的小數位數。 |
IS日誌ICAL | 檢查一個值是否為邏輯(布林)值,如果是則返回「True」,否則返回「False」。 |
美元 | 將數字轉換為帶有貨幣符號和兩位小數的文字格式。 |
回合UP | 將數字四捨五入到指定位數的小數位。 |
回合DOWN | 將數字向下取整至指定的小數位數。 |
排名 | 返回列表中數字的排名,並提供處理平手的選項。 |
地址 | 根據行號和列號以文字形式返回儲存格地址。 |
天S360 | 使用360天的一年計算兩個日期之間的天數。 |
TO天 | 返回當前日期。 |
中位數 | 返回一組數字的中位數(中間值)。 |
總和產品 | 相乘數組中對應的元素,並返回乘積的和。 |
正弦 | 計算數字的雙曲正弦值。 |
正弦餘弦函數 | 計算一個數字的雙曲餘弦值。 |
雙曲正切 | 計算一個數字的雙曲正切。 |
A正弦 | 計算數字的反雙曲正弦。 |
反餘弦函數H | 計算一個數的反雙曲餘弦。 |
A雙曲正切 | 計算數字的反雙曲正切。 |
外部函數 | 表示由外部插件或自訂函數提供的函數調用或操作。 |
ERR或TYPE | 返回對應於特定值中的錯誤類型的數字。 |
平均絕對偏差 | 計算一組數值與其平均值之間的平均絕對偏差。 |
合併 | 計算從較大集合中取出的一定數量項的組合數。 |
偶數 | 將數字向上取整至最接近的偶數。 |
FLO或 | 將數字向下取整到指定的有效位數的最接近倍數。 |
天花板 | 將數字向上取整到指定有效數位的最近倍數。 |
N或MDIST | 計算指定值的累積常態分佈函數。 |
N或MSDIST | 計算標準常態累積分佈函數。 |
N或最小V | 計算指定概率的正態累積分佈函數的反函數。 |
N或MSINV | 計算標準正態累積分佈函數的反函數。 |
ST和ARDIZE | 將數值轉換為平均值為 0、標準差為 1 的標準常態分佈。 |
奇数 | 將數字向上取整為最接近的奇數。 |
泊松 | 計算給定事件數的泊松分佈概率。 |
TDIST | 計算指定值和自由度下的學生t分佈。 |
總和XMY2 | 計算兩個數組中對應值之間差異的平方和。 |
總和X2MY2 | 計算兩個數組中對應值之間差異的平方和。 |
總和X2PY2 | 計算兩個數組中對應值的和的平方和。 |
整數ERCEPT | 計算趨勢線在圖表上與 y 軸相交的點。 |
斜率 | 計算圖表中趨勢線的斜率。 |
DEVSQ | 返回數據點偏離其平均值的平方和。 |
總和SQ | 計算一組數字的平方和。 |
大 | 返回資料集中第 k 個最大的值,k 由使用者指定。 |
小 | 返回資料集中第 k 個最小值,其中 k 是指定的。 |
百分位数 | 返回資料集的第 k 百分位數,其中 k 是指定的。 |
PERCENT排名 | 返回資料集中某個值在所有值中的百分比排名。 |
模式 | 返回數據集中出現頻率最高的值。 |
連接 | 將多個文字串合併為一個。 |
力量 | 將數字提升到指定的次方。 |
弧度 | 將度數轉換為弧度。 |
度 | 將弧度轉換為度數。 |
小計 | Performs various calculations (e.g., sum, average) on a range, and you can choose whether to include or exclude other 小計 results within the range. |
總和如果 | 將符合指定條件的範圍內所有數字相加。 |
計數如果 | 計算範圍內符合指定條件的儲存格數量。 |
計數BLANK | 計算範圍內空白儲存格的數量。 |
羅馬 | 將阿拉伯數字轉換為羅馬數字。 |
超連結 | 建立至網頁或文件的超連結。 |
最大A | 返回包含文字與邏輯值的數字集中的最大值。 |
最小A | 返回一組數字中的最小值,包括文本和邏輯值。 |