How to Edit Formulas in a Worksheet

by Chaknith Bin

An Excel formula is an expression starting with an equal sign (=) used for mathematical calculations, data manipulation, and result derivation based on cell values. It may contain arithmetic, functions, cell references, constants, and logical operations. Formulas enable dynamic updates as cell values change, making Excel a versatile tool for automating tasks and data analysis.

IronXL supports editing existing formulas in an Excel file, retrieving the result from the formula, and forcing the workbook to be reevaluated. This ensures that each formula will be recalculated for accurate results. IronXL supports over 165 formulas.


C# NuGet Library for Excel

Install with NuGet

Install-Package IronXL.Excel
or
C# Excel DLL

Download DLL

Download DLL

Manually install into your project

Edit Formulas Example

To edit or set the formula, access the Formula property. First, select a Range or Cell, and then access and set the Formula property. The Formula property is both a get and set property that returns the formula string, if any. Invoke the EvaluateAll method to reevaluate the entire workbook, ensuring accurate calculations.

: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#

Retrieve Result from Formula

Although it is sometimes applicable to retrieve the result from the Value property of the selected Range and Cell, it is recommended to retrieve the result from the FormattedCellValue property of the Cell for a more accurate result from the formula. In the selected Range, you can access the Cell by invoking the First method. This method will select the first element of the list, which, in our case, is the Cell "A4." From there, you can access the FormattedCellValue property.

: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#

Supported Formula

Excel contains 450+ formulas that can be used to calculate for a variety of purposes. IronXL supports around 165 of the most commonly used formulas. Please check the following for the supported formulas:

Formula Name Description
ABSReturns the absolute value of a number, disregarding its sign.
INTRounds a number down to the nearest integer.
COUNTCounts the number of cells that contain numbers within a specified range.
IFPerforms a conditional test and returns one value if the condition is true and another if it's false.
SUMAdds up a range of numbers.
AVERAGECalculates the average of a range of numbers.
MINReturns the minimum value from a set of numbers.
MAXReturns the maximum value from a set of numbers.
ROWReturns the row number of a cell reference.
COLUMNReturns the column number of a cell reference.
NARepresents an error value for "Not Available" or missing data.
NPVCalculates the Net Present Value of a series of cash flows at a specified discount rate.
STDEVCalculates the standard deviation of a set of numbers.
SIGNReturns the sign of a number as -1 for negative, 0 for zero, or 1 for positive.
ROUNDRounds a number to a specified number of decimal places.
LOOKUPSearches for a value in a range and returns a corresponding value from another range.
INDEXReturns the value of a cell in a specified row and column of a given range.
REPTRepeats a text string a specified number of times.
MIDExtracts a portion of text from a given text string based on a specified starting position and length.
LENReturns the number of characters in a text string.
VALUEConverts a text string that represents a number to an actual number.
TRUERepresents the logical value for "True."
FALSERepresents the logical value for "False."
ANDChecks if all specified conditions are true and returns "True" if they are, and "False" otherwise.
ORChecks if at least one of the specified conditions is true and returns "True" if it is, and "False" otherwise.
NOTInverts the logical value of a condition, turning "True" into "False" and vice versa.
MODReturns the remainder when one number is divided by another.
DMINExtracts the minimum value from a database based on specified criteria.
VARCalculates the variance of a set of numbers.
TEXTConverts a number to text using a specified format.
PVCalculates the present value of an investment or loan based on a series of cash flows and a discount rate.
FV (Future Value)Calculates the future value of an investment or loan based on periodic payments and a specified interest rate.
NPER (Number of Periods)Determines the number of payment periods required to reach a certain financial goal, given regular payments and an interest rate.
PMT (Payment)Calculates the periodic payment needed to pay off a loan or investment, including principal and interest.
RATE (Interest Rate)Calculates the interest rate required to reach a financial goal with a series of periodic payments.
MIRR (Modified Internal Rate of Return)Calculates the internal rate of return for a series of cash flows, addressing multiple reinvestment and financing rates.
IRR (Internal Rate of Return)Calculates the internal rate of return for a series of cash flows, indicating the rate at which an investment breaks even.
RANDGenerates a random decimal number between 0 and 1.
MATCHSearches for a specified value in a range and returns the relative position of the item found.
DATECreates a date value by specifying the year, month, and day.
TIMECreates a time value by specifying the hour, minute, and second.
DAYExtracts the day from a given date.
MONTHExtracts the month from a given date.
YEARExtracts the year from a given date.
WEEKDAYReturns the day of the week for a specified date.
HOURExtracts the hour from a given time.
MINUTEExtracts the minute from a given time.
SECONDExtracts the second from a given time.
NOWReturns the current date and time.
AREASCounts the number of individual ranges within a reference.
ROWSCounts the number of rows in a specified range.
COLUMNSCounts the number of columns in a specified range.
OFFSETReturns a reference offset from a specified cell by a certain number of rows and columns.
SEARCHSearches for a substring within a text string and returns its position.
TRANSPOSETransposes the rows and columns of a range.
ATAN2Calculates the arctangent of a specified x and y coordinate.
ASINCalculates the arcsine of a specified value.
ACOSCalculates the arccosine of a specified value.
CHOOSEReturns a value from a list of values based on a specified position.
HLOOKUPSearches for a value in the top row of a table or range and returns a value in the same column from a specified row.
VLOOKUPSearches for a value in the first column of a table or range and returns a value in the same row from a specified column.
ISREFChecks if a value is a reference and returns "True" if it is, or "False" if it's not.
LOGCalculates the logarithm of a number to a specified base.
CHARReturns the character specified by a given number.
LOWERConverts text to lowercase.
UPPERConverts text to uppercase.
PROPERCapitalizes the first letter of each word in a text string.
LEFTExtracts a specified number of characters from the beginning of a text string.
RIGHTExtracts a specified number of characters from the end of a text string.
EXACTCompares two text strings and returns "True" if they are identical, and "False" if they are not.
TRIMRemoves extra spaces from a text string, except for single spaces between words.
REPLACEReplaces a specified number of characters in a text string with new text.
SUBSTITUTEReplaces occurrences of a specified text in a text string with new text.
CODEReturns the numeric Unicode value of the first character in a text string.
FINDSearches for a specific substring within a text string and returns its position.
ISERRChecks if a value is an error value other than "#N/A" and returns "True" if it is, or "False" if it's not.
ISTEXTChecks if a value is text and returns "True" if it is, or "False" if it's not.
ISNUMBERChecks if a value is a number and returns "True" if it is, or "False" if it's not.
ISBLANKChecks if a cell is empty and returns "True" if it is, or "False" if it's not.
TConverts a value to text format.
DATEVALUEConverts a date represented as text into a date serial number.
CLEANRemoves non-printable characters from text.
MDETERMCalculates the matrix determinant of an array.
MINVERSEReturns the multiplicative inverse (reciprocal) of a matrix.
MMULTMultiplies two matrices together.
IPMTCalculates the interest portion of a loan payment for a given period.
PPMTCalculates the principal portion of a loan payment for a given period.
COUNTACounts the number of non-empty cells in a range, including text and numbers.
PRODUCTMultiplies all the numbers in a range.
FACTCalculates the factorial of a number.
ISNONTEXTChecks if a value is not text and returns "True" if it's not text, or "False" if it is text.
VARPEstimates the variance of a population based on a sample.
TRUNCTruncates a number to a specified number of decimal places.
ISLOGICALChecks if a value is a logical (Boolean) value and returns "True" if it is, or "False" if it's not.
USDOLLARConverts a number to text format with a currency symbol and two decimal places.
ROUNDUPRounds a number up to a specified number of decimal places.
ROUNDDOWNRounds a number down to a specified number of decimal places.
RANKReturns the rank of a number in a list, with options to handle ties.
ADDRESSReturns the cell address as text based on row and column numbers.
DAYS360Calculates the number of days between two dates using the 360-day year.
TODAYReturns the current date.
MEDIANReturns the median (middle value) of a set of numbers.
SUMPRODUCTMultiplies corresponding components in arrays and returns the sum of the products.
SINHCalculates the hyperbolic sine of a number.
COSHCalculates the hyperbolic cosine of a number.
TANHCalculates the hyperbolic tangent of a number.
ASINHCalculates the inverse hyperbolic sine of a number.
ACOSHCalculates the inverse hyperbolic cosine of a number.
ATANHCalculates the inverse hyperbolic tangent of a number.
ExternalFunctionRepresents a function call or operation provided by an external add-in or custom function.
ERRORTYPEReturns a number that corresponds to the error type in a given value.
AVEDEVCalculates the average absolute deviation of a set of values from their mean.
COMBINCalculates the number of combinations for a given number of items taken from a larger set.
EVENRounds a number up to the nearest even integer.
FLOORRounds a number down to the nearest multiple of a specified significance.
CEILINGRounds a number up to the nearest multiple of a specified significance.
NORMDISTCalculates the cumulative normal distribution function for a specified value.
NORMSDISTCalculates the standard normal cumulative distribution function.
NORMINVCalculates the inverse of the normal cumulative distribution function for a specified probability.
NORMSINVCalculates the inverse of the standard normal cumulative distribution function.
STANDARDIZEConverts a value to a standard normal distribution with a mean of 0 and a standard deviation of 1.
ODDRounds a number up to the nearest odd integer.
POISSONCalculates the Poisson distribution probability for a given number of events.
TDISTCalculates the Student's t-distribution for a specified value and degrees of freedom.
SUMXMY2Calculates the sum of squares of the differences between corresponding values in two arrays.
SUMX2MY2Calculates the sum of squares of the differences between corresponding values in two arrays.
SUMX2PY2Calculates the sum of squares of the sum of corresponding values in two arrays.
INTERCEPTCalculates the point at which a trendline crosses the y-axis in a chart.
SLOPECalculates the slope of a trendline in a chart.
DEVSQReturns the sum of squares of deviations of data points from their mean.
SUMSQCalculates the sum of squares of a set of numbers.
LARGEReturns the k-th largest value in a dataset, where k is specified.
SMALLReturns the k-th smallest value in a dataset, where k is specified.
PERCENTILEReturns the k-th percentile of a dataset, where k is specified.
PERCENTRANKReturns the rank of a value in a dataset as a percentage of the total number of values.
MODEReturns the most frequently occurring value in a dataset.
CONCATENATECombines multiple text strings into one.
POWERRaises a number to a specified power.
RADIANSConverts degrees to radians.
DEGREESConverts radians to degrees.
SUBTOTALPerforms various calculations (e.g., sum, average) on a range, and you can choose whether to include or exclude other SUBTOTAL results within the range.
SUMIFAdds up all the numbers in a range that meet a specified condition.
COUNTIFCounts the number of cells in a range that meet a specified condition.
COUNTBLANKCounts the number of empty cells in a range.
ROMANConverts an Arabic numeral to a Roman numeral.
HYPERLINKCreates a hyperlink to a webpage or file.
MAXAReturns the maximum value from a set of numbers, including text and logical values.
MINAReturns the minimum value from a set of numbers, including text and logical values.

Chaknith Bin

Software Engineer

Chaknith is the Sherlock Holmes of developers. It first occurred to him he might have a future in software engineering, when he was doing code challenges for fun. His focus is on IronXL and IronBarcode, but he takes pride in helping customers with every product. Chaknith leverages his knowledge from talking directly with customers, to help further improve the products themselves. His anecdotal feedback goes beyond Jira tickets and supports product development, documentation and marketing, to improve customer’s overall experience.When he isn’t in the office, he can be found learning about machine learning, coding and hiking.