如何在工作表中編輯公式

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼思·賓

Excel 公式是一個以等號開頭的表達式(= )用於數學計算、數據操作和基於單元格值的結果導出。 它可能包含算術運算、函數、單元格引用、常量和邏輯操作。 公式允許在單元格值變更時進行動態更新,使Excel成為自動化任務和數據分析的多功能工具。

IronXL 支援在 Excel 檔案中編輯現有公式,擷取公式的結果,並強制工作簿重新評估。 這確保每個公式都將重新計算以獲得準確結果。 IronXL 支援超過 165 種公式


開始使用IronXL

立即在您的專案中使用IronXL,並享受免費試用。

第一步:
green arrow pointer


編輯公式範例

要編輯或設定公式,請訪問公式屬性。 首先,選擇一個範圍或單元格,然後訪問並設置公式屬性。 Formula 屬性是一個同時具有 get 和 set 功能的屬性,如果有的話,它會返回公式字符串。 調用 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()
VB   C#

從公式檢索結果

雖然有時候可以從選定範圍和單元格的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)
VB   C#

支持的公式

Excel 包含 450 多個公式,可用於各種計算目的。 IronXL 支援約 165 種最常用的公式。 請檢查以下支持的公式:

公式名稱描述
ABS返回數字的絕對值,無論其符號如何。
整數將一個數字向下取整至最接近的整數。
計數計算在指定範圍內包含數字的單元格數量。
如果進行條件測試,如果條件為真則返回一個值,否則返回另一個值。
總和累加一系列數字。
平均值計算一個數字範圍的平均值。
最小返回數字集中最小的值。
最大返回一組數字中的最大值。
行列返回單元格參考的行號。
返回單元格引用的列號。
NA表示 "無法取得" 或缺失資料的錯誤值。
淨現值計算指定折現率下的一系列現金流量的淨現值。
標準差計算一組數字的標準差。
簽名返回數字的符號為:-1 表示負數,0 表示零,或 1 表示正數。
回合將數字四捨五入到指定的小數位數。
查詢在範圍中搜尋一個值,並從另一個範圍返回相應的值。
索引返回指定範圍內某行某列的單元格值。
再複製將文字字符串重複指定的次數。
中间层從給定的字串中根據指定的起始位置和長度提取一部分文字。
返回文字字符串中的字符數。
價值將表示數字的文本字串轉換為實際數字。
表示「True」的邏輯值。
表示邏輯值為「假」。
檢查所有指定的條件是否為真,如果是,則返回 "True",否則返回 "False"。
檢查是否至少有一個指定條件為真,如果是,則返回“True”,否則返回“False”。
反轉條件的邏輯值,將「True」變為「False」,反之亦然。
MOD返回一個數被另一個數除時的餘數。
最低值根據指定的條件從資料庫中提取最小值。
變數計算一組數字的變異數。
文本將數字轉換為使用指定格式的文字。
PV根據一系列現金流和折現率計算投資或貸款的現值。
未來價值 (FV)根據定期付款和指定的利率計算投資或貸款的未來價值。
NPER (期數)確定達到特定財務目標所需的付款期數,假設定期付款和利率。
PMT (Payment) - 付款計算償還貸款或投資的定期付款,包括本金和利息。
利率 (Interest Rate)計算達到財務目標所需的利率與一系列定期付款。
修正內部報酬率 (MIRR)計算一系列現金流的內部收益率,解決多個再投資和融資利率的問題。
內部收益率 (IRR)計算一系列現金流的內部報酬率,表示投資的平衡點率。
RAND生成介於0和1之間的隨機小數。
匹配在範圍內搜尋指定的值,並返回找到項目的相對位置。
日期通過指定年、月和日來創建日期值。
時間通過指定小時、分鐘和秒來創建時間值。
從給定的日期中提取日期。
月份從給定日期中提取月份。
從給定日期中提取年份。
平日返回指定日期的星期幾。
小時從給定的時間中提取小時。
分鐘從指定時間中提取分鐘。
第二從給定的時間中提取秒數。
現在返回目前的日期和時間。
區域計算參照中不同範圍的數量。
計算指定範圍內的行數。
計算指定範圍內的列數。
偏移返回從指定單元格以一定行數和列數偏移的參考。
搜尋搜索文本字符串中的子字串並返回其位置。
轉置轉置範圍的行和列。
ATAN2計算指定 x 和 y 座標的反正切。
ASIN計算指定值的反正弦。
反餘弦函數計算指定值的反餘弦。
選擇根據指定的位置從一個值列表中返回一個值。
HLOOKUP在表格或範圍的第一行搜尋一個值,並從指定的行中返回同一列中的值。
VLOOKUP在表格或範圍的第一列中搜尋一個值,並在同一列中從指定的欄位返回一個值。
ISREF檢查一個值是否為參考,並返回「True」如果是,或「False」如果不是。
日誌計算指定底數的數字對數。
字元返回由給定數字指定的字符。
低檔將文字轉換為小寫。
將文字轉換為大寫。
正確將文字串中的每個單詞首字母大寫。
從文本字符串的開頭提取指定數量的字符。
正確從文字串的結尾提取指定數量的字符。
精確比較兩個文字字串,如果它們相同則返回「True」,如果它們不同則返回「False」。
裁剪從文字串中移除多餘的空格,但保留單詞之間的單一空格。
替換將文字字符串中指定數量的字符替換為新文字。
替代在字串中用新文字替換指定文字的出現次數。
代碼返回文本字符串中第一個字符的數值 Unicode 值。
查找在文本字符串中搜尋特定的子字串並返回其位置。
ISERR檢查某值是否為除「#N/A」之外的錯誤值,如果是,則返回「True」,否則返回「False」。
ISTEXT檢查某個值是否為文字,若是則返回「True」,否則返回「False」。
ISNUMBER檢查數值是否為數字,如果是則返回 "True",如果不是則返回 "False"。
是否為空檢查單元格是否為空,如果空返回「True」,如果不空返回「False」。
T將值轉換為文本格式。
日期值將表示為文本的日期轉換為日期序列號。
清理移除文字中的非打印字符。
行列式計算數組的矩陣行列式。
MINVERSE返回矩阵的乘法逆矩阵(倒数)。
MMULT將兩個矩陣相乘。
IPMT計算特定期間的貸款還款利息部分。
PPMT計算在指定期間內貸款付款的本金部分。
計數A計算範圍內非空白儲存格的數量,包括文字和數字。
產品將範圍內的所有數字相乘。
事實計算一個數字的階乘。
ISNONTEXT檢查一個值是否不是文字,如果不是文字則返回 "True",如果是文字則返回 "False"。
VARP基於樣本估計母體變異數。
截斷將數字截斷為指定的小數位數。
ISLOGICAL檢查一個值是否為邏輯(布林)值,如果是則返回「True」,否則返回「False」。
美元將數字轉換為帶有貨幣符號和兩位小數的文字格式。
概述將數字四捨五入到指定位數的小數位。
向下取整將數字向下取整至指定的小數位數。
排名返回列表中數字的排名,並提供處理平手的選項。
地址根據行號和列號以文字形式返回儲存格地址。
60天使用360天的一年計算兩個日期之間的天數。
今天返回當前日期。
中位數返回一組數字的中位數(中間值)。
乘積總和相乘數組中對應的元素,並返回乘積的和。
正弦計算數字的雙曲正弦值。
正弦餘弦函數計算一個數字的雙曲餘弦值。
雙曲正切計算一個數字的雙曲正切。
反雙曲正弦 function計算數字的反雙曲正弦。
反雙曲餘弦計算一個數的反雙曲餘弦。
反雙曲正切函数計算數字的反雙曲正切。
外部函數表示由外部插件或自訂函數提供的函數調用或操作。
錯誤類型返回對應於特定值中的錯誤類型的數字。
平均絕對偏差計算一組數值與其平均值之間的平均絕對偏差。
合併計算從較大集合中取出的一定數量項的組合數。
偶數將數字向上取整至最接近的偶數。
樓層將數字向下取整到指定的有效位數的最接近倍數。
天花板將數字向上取整到指定有效數位的最近倍數。
NORMDIST計算指定值的累積常態分佈函數。
正態標準分配計算標準常態累積分佈函數。
NORMINV計算指定概率的正態累積分佈函數的反函數。
NORMSINV計算標準正態累積分佈函數的反函數。
標準化將數值轉換為平均值為 0、標準差為 1 的標準常態分佈。
奇数將數字向上取整為最接近的奇數。
泊松計算給定事件數的泊松分佈概率。
TDIST計算指定值和自由度下的學生t分佈。
SUMXMY2計算兩個數組中對應值之間差異的平方和。
SUMX2MY2計算兩個數組中對應值之間差異的平方和。
SUMX2PY2計算兩個數組中對應值的和的平方和。
攔截計算趨勢線在圖表上與 y 軸相交的點。
斜率計算圖表中趨勢線的斜率。
DEVSQ返回數據點偏離其平均值的平方和。
SUMSQ計算一組數字的平方和。
返回資料集中第 k 個最大的值,k 由使用者指定。
返回資料集中第 k 個最小值,其中 k 是指定的。
百分位数返回資料集的第 k 百分位數,其中 k 是指定的。
百分秩排名返回資料集中某個值在所有值中的百分比排名。
模式返回數據集中出現頻率最高的值。
連接將多個文字串合併為一個。
力量將數字提升到指定的次方。
弧度將度數轉換為弧度。
將弧度轉換為度數。
小計在某範圍內執行各種計算(例如,總和,平均值),並且您可以選擇是否包含或排除該範圍內的其他 SUBTOTAL 結果。
SUMIF將符合指定條件的範圍內所有數字相加。
計數條件計算範圍內符合指定條件的儲存格數量。
計數空白計算範圍內空白儲存格的數量。
羅馬將阿拉伯數字轉換為羅馬數字。
超連結建立至網頁或文件的超連結。
艾科斯返回包含文字與邏輯值的數字集中的最大值。
米娜返回一組數字中的最小值,包括文本和邏輯值。
Chaknith related to 支持的公式

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。