Cell

RichTextRun directly maps the settings of the rich text run.

type RichTextRun struct {
    Font *Font
    Text string
}

HyperlinkOpts can be passed to SetCellHyperlink to set optional hyperlink attributes (e.g. text to display and screen tip text).

type HyperlinkOpts struct {
    Display *string
    Tooltip *string
}

FormulaOpts can be passed to SetCellFormula to use other formula types.

type FormulaOpts struct {
    Type *string // Formula type
    Ref  *string // Shared formula reference
}

Set cell value

func (f *File) SetCellValue(sheet, cell string, value interface{}) error

SetCellValue provides a function to set the value of a cell. This function is concurrency safe. The specified coordinates should not be in the first row of the table, a complex number can be set with string text. The following shows the supported data types:

Supported data types
int
int8
int16
int32
int64
uint
uint8
uint16
uint32
uint64
float32
float64
string
[]byte
time.Duration
time.Time
bool
nil

Note that default date format is m/d/yy h:mm of time.Time type value. You can set numbers format by the SetCellStyle function. If you need to set the specialized date in Excel like January 0, 1900 or February 29, 1900, these times can not representation in Go language time.Time data type. Please set the cell value as number 0 or 60, then create and bind the date-time number format style for the cell.

Set boolean value

func (f *File) SetCellBool(sheet, cell string, value bool) error

SetCellBool provides a function to set the bool type value of a cell by given worksheet name, cell reference, and cell value.

Set RAW value

func (f *File) SetCellDefault(sheet, cell, value string) error

SetCellDefault provides a function to set the string type value of a cell as a default format without escaping the cell.

Set integer value

func (f *File) SetCellInt(sheet, cell string, value int) error

SetCellInt provides a function to set the int type value of a cell by given worksheet name, cell reference, and cell value.

Set unsigned integer value

func (f *File) SetCellUint(sheet, cell string, value uint64) error

SetCellUint provides a function to set unsigned integer data type value of a cell by given worksheet name, cell reference and cell value.

Set floating point value

func (f *File) SetCellFloat(sheet, cell string, value float64, precision, bitSize int) error

SetCellFloat sets a floating point value into a cell. The precision parameter specifies how many places after the decimal will be shown while -1 is a special value that will use as many decimal places as necessary to represent the number. bitSize is 32 or 64 depending on if a float32 or float64 was originally used for the value.

Set string value

func (f *File) SetCellStr(sheet, cell, value string) error

SetCellStr provides a function to set the string type value of a cell. The total number of characters that a cell can contain 32767 characters.

Set cell style

func (f *File) SetCellStyle(sheet, topLeftCell, bottomRightCell string, styleID int) error

SetCellStyle provides a function to add style attribute for cells by given worksheet name, range reference and style ID. This function is concurrency safe. Style indexes can be obtained with the NewStyle function. Note that diagonalDown and diagonalUp type border should use the same color in the same range. SetCellStyle will overwrite the existing styles for the cell, it won't append or merge style with existing styles.

  • Example 1, create borders of cell D7 on Sheet1:
style, err := f.NewStyle(&excelize.Style{
    Border: []excelize.Border{
        {Type: "left", Color: "0000FF", Style: 3},
        {Type: "top", Color: "00FF00", Style: 4},
        {Type: "bottom", Color: "FFFF00", Style: 5},
        {Type: "right", Color: "FF0000", Style: 6},
        {Type: "diagonalDown", Color: "A020F0", Style: 8},
        {Type: "diagonalUp", Color: "A020F0", Style: 8},
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set a border style for a cell

The four borders of the cell D7 are set with different styles and colors. This is related to the parameters when calling the NewStyle function. You need to set different styles to refer to the documentation for that chapter.

  • Example 2, setting the gradient style for the worksheet D7 cell named Sheet1:
style, err := f.NewStyle(&excelize.Style{
    Fill: excelize.Fill{Type: "gradient", Color: []string{"FFFFFF", "E0EBF5"}, Shading: 1},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set a gradient style for the cell

The cell D7 is set with the color fill of the gradient effect. The gradient fill effect is related to the parameter when the NewStyle function is called. You need to set different styles to refer to the documentation of this chapter.

  • Example 3, set a solid fill for the D7 cell named Sheet1:
style, err := f.NewStyle(&excelize.Style{
    Fill: excelize.Fill{Type: "pattern", Color: []string{"E0EBF5"}, Pattern: 1},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set a solid fill for the cell

The cell D7 is set with a solid fill.

  • Example 4, set the character spacing and rotation angle for the D7 cell named Sheet1:
f.SetCellValue("Sheet1", "D7", "Style")
style, err := f.NewStyle(&excelize.Style{
    Alignment: &excelize.Alignment{
        Horizontal:      "center",
        Indent:          1,
        JustifyLastLine: true,
        ReadingOrder:    0,
        RelativeIndent:  1,
        ShrinkToFit:     true,
        TextRotation:    45,
        Vertical:        "",
        WrapText:        true,
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set the character spacing and rotation angle

  • Example 5, the date and time in Excel are represented by real numbers, for example 2017/7/4 12:00:00 PM can be represented by the number 42920.5. Set the time format for the worksheet D7 cell named Sheet1:
f.SetCellValue("Sheet1", "D7", 42920.5)
f.SetColWidth("Sheet1", "D", "D", 13)
style, err := f.NewStyle(&excelize.Style{NumFmt: 22})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set the time format for the cell

The cell D7 is set to the time format. Note that when the cell width with the time format applied is too narrow to be fully displayed, it will be displayed as ####, you can drag and drop the column width or set the column to the appropriate size by calling the SetColWidth function to make it normal display.

  • Example 6, setting the font, font size, color, and skew style for the worksheet D7 cell named Sheet1:
f.SetCellValue("Sheet1", "D7", "Excel")
style, err := f.NewStyle(&excelize.Style{
    Font: &excelize.Font{
        Bold:   true,
        Italic: true,
        Family: "Times New Roman",
        Size:   36,
        Color:  "777777",
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

Set font, font size, color, and skew style for cells

  • Example 7, locking and hiding the worksheet D7 cell named Sheet1:
style, err := f.NewStyle(&excelize.Style{
    Protection: &excelize.Protection{
        Hidden: true,
        Locked: true,
    },
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "D7", "D7", style)

To lock a cell or hide a formula, protect the worksheet. On the "Review" tab, click "Protect Worksheet".

func (f *File) SetCellHyperLink(sheet, cell, link, linkType string, opts ...HyperlinkOpts) error

SetCellHyperLink provides a function to set cell hyperlinks by given worksheet name and link URL address. LinkType defines two types of hyperlinks External for the website or Location for moving to one of the cells in this workbook. The maximum limit of hyperlinks in a worksheet is 65530. This function is only used to set the hyperlink of the cell and doesn't affect the value of the cell. If you need to set the value of the cell, please use the other functions such as SetCellStyle or SetSheetRow. Below is an example of an external link.

  • Example 1, adding an external link to the A3 cell of the worksheet named Sheet1:
display, tooltip := "https://github.com/xuri/excelize", "Excelize on GitHub"
if err := f.SetCellHyperLink("Sheet1", "A3",
    "https://github.com/xuri/excelize", "External", excelize.HyperlinkOpts{
        Display: &display,
        Tooltip: &tooltip,
    }); err != nil {
    fmt.Println(err)
}
// Set the font and underline style for the cell
style, err := f.NewStyle(&excelize.Style{
    Font: &excelize.Font{Color: "1265BE", Underline: "single"},
})
if err != nil {
    fmt.Println(err)
}
err = f.SetCellStyle("Sheet1", "A3", "A3", style)
  • Example 2, adding an internal location link to the A3 cell named Sheet1:
err := f.SetCellHyperLink("Sheet1", "A3", "Sheet1!A40", "Location")

Set cell rich text

func (f *File) SetCellRichText(sheet, cell string, runs []RichTextRun) error

SetCellRichText provides a function to set a cell with rich text by given worksheet.

For example, set rich text on the A1 cell of the worksheet named Sheet1:

Set cell rich text

package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    if err := f.SetRowHeight("Sheet1", 1, 35); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SetColWidth("Sheet1", "A", "A", 44); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SetCellRichText("Sheet1", "A1", []excelize.RichTextRun{
        {
            Text: "bold",
            Font: &excelize.Font{
                Bold:   true,
                Color:  "2354E8",
                Family: "Times New Roman",
            },
        },
        {
            Text: " and ",
            Font: &excelize.Font{
                Family: "Times New Roman",
            },
        },
        {
            Text: "italic ",
            Font: &excelize.Font{
                Bold:   true,
                Color:  "E83723",
                Italic: true,
                Family: "Times New Roman",
            },
        },
        {
            Text: "text with color and font-family,",
            Font: &excelize.Font{
                Bold:   true,
                Color:  "2354E8",
                Family: "Times New Roman",
            },
        },
        {
            Text: "\r\nlarge text with ",
            Font: &excelize.Font{
                Size:  14,
                Color: "AD23E8",
            },
        },
        {
            Text: "strike",
            Font: &excelize.Font{
                Color:  "E89923",
                Strike: true,
            },
        },
        {
            Text: " superscript",
            Font: &excelize.Font{
                Color:     "DBC21F",
                VertAlign: "superscript",
            },
        },
        {
            Text: " and ",
            Font: &excelize.Font{
                Size:      14,
                Color:     "AD23E8",
                VertAlign: "baseline",
            },
        },
        {
            Text: "underline",
            Font: &excelize.Font{
                Color:     "23E833",
                Underline: "single",
            },
        },
        {
            Text: " subscript.",
            Font: &excelize.Font{
                Color:     "017505",
                VertAlign: "subscript",
            },
        },
    }); err != nil {
        fmt.Println(err)
        return
    }
    style, err := f.NewStyle(&excelize.Style{
        Alignment: &excelize.Alignment{
            WrapText: true,
        },
    })
    if err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SetCellStyle("Sheet1", "A1", "A1", style); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Get cell rich text

func (f *File) GetCellRichText(sheet, cell string) ([]RichTextRun, error)

GetCellRichText provides a function to get the rich text of cells by given worksheet.

Get cell value

func (f *File) GetCellValue(sheet, cell string, opts ...Options) (string, error)

GetCellValue provides a function to get formatted value from cell by given worksheet name and cell reference in spreadsheet. The return value is converted to the string type. This function is concurrency safe. If the cell format can be applied to the value of a cell, the applied value will be returned, otherwise the original value will be returned. All cells' values will be the same in a merged range.

Get cell type

func (f *File) GetCellType(sheet, cell string) (CellType, error)

GetCellType provides a function to get the cell's data type by given worksheet name and cell reference in spreadsheet file.

Get all cell value by cols

func (f *File) GetCols(sheet string, opts ...Options) ([][]string, error)

GetCols gets the value of all cells by columns on the worksheet based on the given worksheet name, returned as a two-dimensional array, where the value of the cell is converted to the string type. If the cell format can be applied to the value of the cell, the applied value will be used, otherwise the original value will be used.

For example, get and traverse the value of all cells by columns on a worksheet named Sheet1:

cols, err := f.GetCols("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for _, col := range cols {
    for _, rowCell := range col {
        fmt.Print(rowCell, "\t")
    }
    fmt.Println()
}

Get all cell value by rows

func (f *File) GetRows(sheet string, opts ...Options) ([][]string, error)

GetRows return all the rows in a sheet by given worksheet name, returned as a two-dimensional array, where the value of the cell is converted to the string type. If the cell format can be applied to the value of the cell, the applied value will be used, otherwise the original value will be used. GetRows fetched the rows with value or formula cells, the continually blank cells in the tail of each row will be skipped, so the length of each row may be inconsistent.

For example, get and traverse the value of all cells by rows on a worksheet named Sheet1:

rows, err := f.GetRows("Sheet1")
if err != nil {
    fmt.Println(err)
    return
}
for _, row := range rows {
    for _, colCell := range row {
        fmt.Print(colCell, "\t")
    }
    fmt.Println()
}
func (f *File) GetCellHyperLink(sheet, cell string) (bool, string, error)

GetCellHyperLink gets a cell hyperlink based on the given worksheet name and cell reference. If the cell has a hyperlink, it will return true and the link address, otherwise it will return false and an empty link address.

For example, get a hyperlink to a H6 cell on a worksheet named Sheet1:

link, target, err := f.GetCellHyperLink("Sheet1", "H6")

Get style index

func (f *File) GetCellStyle(sheet, cell string) (int, error)

The cell style index is obtained from the given worksheet name and cell reference, and the obtained index can be used as a parameter to call the SetCellValue function when copying the cell style.

Merge cells

func (f *File) MergeCell(sheet, topLeftCell, bottomRightCell string) error

MergeCell provides a function to merge cells by given range reference and sheet name. Merging cells only keeps the upper-left cell value, and discards the other values. For example, merge cells in the D3:E9 area on a worksheet named Sheet1:

err := f.MergeCell("Sheet1", "D3", "E9")

If you create a merged cell that overlaps with another existing merged cell, those merged cells that already exist will be removed.

Unmerge cells

func (f *File) UnmergeCell(sheet, topLeftCell, bottomRightCell string) error

UnmergeCell provides a function to unmerge a given range reference. For example unmerge area D3:E9 on Sheet1:

err := f.UnmergeCell("Sheet1", "D3", "E9")

Attention: overlapped areas will also be unmerged.

Get merge cells

GetMergeCells provides a function to get all merged cells from a specific worksheet.

func (f *File) GetMergeCells(sheet string) ([]MergeCell, error)

Get merged cell value

func (m *MergeCell) GetCellValue() string

GetCellValue returns merged cell value.

Get the top left cell reference of merged range

func (m *MergeCell) GetStartAxis() string

GetStartAxis returns the top left cell reference of merged range, for example: C2.

Get the bottom right cell reference of merged range

func (m *MergeCell) GetEndAxis() string

GetEndAxis returns the bottom right cell reference of merged range, for example: D4.

Get picture cells

func (f *File) GetPictureCells(sheet string) ([]string, error)

GetPictureCells returns all picture cell references in a worksheet by a specific worksheet name.

Add comment

func (f *File) AddComment(sheet string, comment Comment) error

AddComment provides the method to add comments in a sheet by given worksheet index, cell and format set (such as author and text). Note that the max author length is 255 and the max text length is 32512. For example, add a comment in Sheet1!$A$3:

Add a comment to an Excel document

err := f.AddComment("Sheet1", excelize.Comment{
    Cell:   "A3",
    Author: "Excelize",
    Paragraph: []excelize.RichTextRun{
        {Text: "Excelize: ", Font: &excelize.Font{Bold: true}},
        {Text: "This is a comment."},
    },
})

Get comment

func (f *File) GetComments(sheet string) ([]Comment, error)

GetComments retrieves all comments in a worksheet by given worksheet name.

Delete comment

func (f *File) DeleteComment(sheet, cell string) error

DeleteComment provides the method to delete comment in a sheet by given worksheet name. For example, delete the comment in Sheet1!$A$30:

err := f.DeleteComment("Sheet1", "A30")

Set cell formula

func (f *File) SetCellFormula(sheet, cell, formula string, opts ...FormulaOpts) error

SetCellFormula provides a function to set the formula on the cell is taken according to the given worksheet name and cell formula settings. The result of the formula cell can be calculated when the worksheet is opened by the Office Excel application or can be using the CalcCellValue function also can get the calculated cell value. If the Excel application doesn't calculate the formula automatically when the workbook has been opened, please call UpdateLinkedValue after setting the cell formula functions.

  • Example 1, set normal formula =SUM(A1,B1) for the cell A3 on Sheet1:
err := f.SetCellFormula("Sheet1", "A3", "=SUM(A1,B1)")
  • Example 2, set one-dimensional vertical constant array (column array) formula 1;2;3 for the cell A3 on Sheet1:
err := f.SetCellFormula("Sheet1", "A3", "={1;2;3}")
  • Example 3, set one-dimensional horizontal constant array (row array) formula "a","b","c" for the cell A3 on Sheet1:
err := f.SetCellFormula("Sheet1", "A3", "={\"a\",\"b\",\"c\"}")
  • Example 4, set two-dimensional constant array formula {1,2;"a","b"} for the cell A3 on Sheet1:
formulaType, ref := excelize.STCellFormulaTypeArray, "A3:A3"
err := f.SetCellFormula("Sheet1", "A3", "={1,2;\"a\",\"b\"}",
    excelize.FormulaOpts{Ref: &ref, Type: &formulaType})
  • Example 5, set range array formula A1:A2 for the cell A3 on Sheet1:
formulaType, ref := excelize.STCellFormulaTypeArray, "A3:A3"
err := f.SetCellFormula("Sheet1", "A3", "=A1:A2",
    excelize.FormulaOpts{Ref: &ref, Type: &formulaType})
  • Example 6, set shared formula =A1+B1 for the cells C1:C5 on Sheet1, C1 is the master cell:
formulaType, ref := excelize.STCellFormulaTypeShared, "C1:C5"
err := f.SetCellFormula("Sheet1", "C1", "=A1+B1",
    excelize.FormulaOpts{Ref: &ref, Type: &formulaType})
  • Example 7, set table formula =SUM(Table1[[A]:[B]]) for the cell C2 on Sheet1:
package main

import (
    "fmt"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    for idx, row := range [][]interface{}{{"A", "B", "C"}, {1, 2}} {
        if err := f.SetSheetRow("Sheet1", fmt.Sprintf("A%d", idx+1), &row); err != nil {
            fmt.Println(err)
            return
        }
    }
    if err := f.AddTable("Sheet1",
        &excelize.Table{
            Range:     "A1:C2",
            Name:      "Table1",
            StyleName: "TableStyleMedium2",
        }); err != nil {
        fmt.Println(err)
        return
    }
    formulaType := excelize.STCellFormulaTypeDataTable
    if err := f.SetCellFormula("Sheet1", "C2", "=SUM(Table1[[A]:[B]])",
        excelize.FormulaOpts{Type: &formulaType}); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SaveAs("Book1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Get cell formula

func (f *File) GetCellFormula(sheet, cell string) (string, error)

GetCellFormula provides a function to get formula from cell by given worksheet name and cell reference in spreadsheet.

Calculate cell value

func (f *File) CalcCellValue(sheet, cell string, opts ...Options) (string, error)

CalcCellValue provides a function to get calculated cell value. This feature is currently in working processing. Iterative calculation, implicit intersection, explicit intersection, array formula, table formula and some other formulas are not supported currently.

Supported formulas:

Function name Description
ABS Returns the absolute value of a number
ACCRINT Returns the accrued interest for a security that pays periodic interest
ACCRINTM Returns the accrued interest for a security that pays interest at maturity
ACOS Returns the arccosine of a number
ACOSH Returns the inverse hyperbolic cosine of a number
ACOT Returns the arccotangent of a number
ACOTH Returns the hyperbolic arccotangent of a number
AGGREGATE Returns an aggregate in a list or database
ADDRESS Returns a reference as text to a single cell in a worksheet
AMORDEGRC Returns the depreciation for each accounting period by using a depreciation coefficient
AMORLINC Returns the depreciation for each accounting period
AND Returns TRUE if all of its arguments are TRUE
ARABIC Converts a Roman number to Arabic, as a number
ARRAYTOTEXT Returns an array of text values from any specified range
ASIN Returns the arcsine of a number
ASINH Returns the inverse hyperbolic sine of a number
ATAN Returns the arctangent of a number
ATAN2 Returns the arctangent from x- and y-coordinates
ATANH Returns the inverse hyperbolic tangent of a number
AVEDEV Returns the average of the absolute deviations of data points from their mean
AVERAGE Returns the average of its arguments
AVERAGEA Returns the average of its arguments, including numbers, text, and logical values
AVERAGEIF Returns the average (arithmetic mean) of all the cells in a range that meet a given criteria
AVERAGEIFS Returns the average (arithmetic mean) of all cells that meet multiple criteria.
BASE Converts a number into a text representation with the given radix (base)
BESSELI Returns the modified Bessel function In(x)
BESSELJ Returns the Bessel function Jn(x)
BESSELK Returns the modified Bessel function Kn(x)
BESSELY Returns the Bessel function Yn(x)
BETADIST Returns the beta cumulative distribution function
BETA.DIST Returns the beta cumulative distribution function
BETAINV Returns the inverse of the cumulative distribution function for a specified beta distribution
BETA.INV Returns the inverse of the cumulative distribution function for a specified beta distribution
BIN2DEC Converts a binary number to decimal
BIN2HEX Converts a binary number to hexadecimal
BIN2OCT Converts a binary number to octal
BINOMDIST Returns the individual term binomial distribution probability
BINOM.DIST Returns the individual term binomial distribution probability
BINOM.DIST.RANGE Returns the probability of a trial result using a binomial distribution
BINOM.INV Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value
BITAND Returns a 'Bitwise And' of two numbers
BITLSHIFT Returns a value number shifted left by shift_amount bits
BITOR Returns a bitwise OR of 2 numbers
BITRSHIFT Returns a value number shifted right by shift_amount bits
BITXOR Returns a bitwise 'Exclusive Or' of two numbers
CEILING Rounds a number to the nearest integer or to the nearest multiple of significance
CEILING.MATH Rounds a number up, to the nearest integer or to the nearest multiple of significance
CEILING.PRECISE Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up.
CHAR Returns the character specified by the code number
CHIDIST Returns the one-tailed probability of the chi-squared distribution
CHIINV Returns the inverse of the one-tailed probability of the chi-squared distribution
CHITEST Returns the test for independence
CHISQ.DIST Returns the cumulative beta probability density function
CHISQ.DIST.RT Returns the one-tailed probability of the chi-squared distribution
CHISQ.INV Returns the cumulative beta probability density function
CHISQ.INV.RT Returns the inverse of the one-tailed probability of the chi-squared distribution
CHISQ.TEST Returns the test for independence
CHOOSE Chooses a value from a list of values
CLEAN Removes all nonprintable characters from text
CODE Returns a numeric code for the first character in a text string
COLUMN Returns the column number of a reference
COLUMNS Returns the number of columns in a reference
COMBIN Returns the number of combinations for a given number of objects
COMBINA Returns the number of combinations with repetitions for a given number of items
COMPLEX Converts real and imaginary coefficients into a complex number
CONCAT Combines the text from multiple ranges and/or strings, but it doesn't provide the delimiter or IgnoreEmpty arguments.
CONCATENATE Joins several text items into one text item
CONFIDENCE Returns the confidence interval for a population mean
CONFIDENCE.NORM Returns the confidence interval for a population mean
CONFIDENCE.T Returns the confidence interval for a population mean, using a Student's t distribution
CONVERT Converts a number from one measurement system to another
CORREL Returns the correlation coefficient between two data sets
COS Returns the cosine of a number
COSH Returns the hyperbolic cosine of a number
COT Returns the hyperbolic cosine of a number
COTH Returns the cotangent of an angle
COUNT Counts how many numbers are in the list of arguments
COUNTA Counts how many values are in the list of arguments
COUNTBLANK Counts the number of blank cells within a range
COUNTIF Counts the number of cells within a range that meet the given criteria
COUNTIFS Counts the number of cells within a range that meet multiple criteria
COUPDAYBS Returns the number of days from the beginning of the coupon period to the settlement date
COUPDAYS Returns the number of days in the coupon period that contains the settlement date
COUPDAYSNC Returns the number of days from the settlement date to the next coupon date
COUPNCD Returns the next coupon date after the settlement date
COUPNUM Returns the number of coupons payable between the settlement date and maturity date
COUPPCD Returns the previous coupon date before the settlement date
COVAR Returns covariance, the average of the products of paired deviations
COVARIANCE.P Returns covariance, the average of the products of paired deviations
COVARIANCE.S Returns the sample covariance, the average of the products deviations for each data point pair in two data sets
CRITBINOM Returns the smallest value for which the cumulative binomial distribution is less than or equal to a criterion value
CSC Returns the cosecant of an angle
CSCH Returns the hyperbolic cosecant of an angle
CUMIPMT Returns the cumulative interest paid between two periods
CUMPRINC Returns the cumulative principal paid on a loan between two periods
DATE Returns the serial number of a particular date
DATEDIF Calculates the number of days, months, or years between two dates. This function is useful in formulas where you need to calculate an age.
DATEVALUE Converts a date in the form of text to a serial number
DAVERAGE Returns the average of selected database entries
DAY Converts a serial number to a day of the month
DAYS Returns the number of days between two dates
DAYS360 Calculates the number of days between two dates based on a 360-day year
DB Returns the depreciation of an asset for a specified period by using the fixed-declining balance method
DCOUNT Counts the cells that contain numbers in a database
DCOUNTA Counts non blank cells in a database
DDB Returns the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify
DEC2BIN Converts a decimal number to binary
DEC2HEX Converts a decimal number to hexadecimal
DEC2OCT Converts a decimal number to octal
DECIMAL Converts a text representation of a number in a given base into a decimal number
DEGREES Converts radians to degrees
DELTA Tests whether two values are equal
DEVSQ Returns the sum of squares of deviations
DGET Extracts from a database a single record that matches the specified criteria
DISC Returns the discount rate for a security
DMAX Returns the maximum value from selected database entries
DMIN Returns the minimum value from selected database entries
DOLLARDE Converts a dollar price, expressed as a fraction, into a dollar price, expressed as a decimal number
DOLLARFR Converts a dollar price, expressed as a decimal number, into a dollar price, expressed as a fraction
DPRODUCT Multiplies the values in a particular field of records that match the criteria in a database
DSTDEV Estimates the standard deviation based on a sample of selected database entries
DSTDEVP Calculates the standard deviation based on the entire population of selected database entries
DSUM Adds the numbers in the field column of records in the database that match the criteria
DURATION Returns the annual duration of a security with periodic interest payments
DVAR Estimates variance based on a sample from selected database entries
DVARP Calculates variance based on the entire population of selected database entries
EDATE Returns the serial number of the date that is the indicated number of months before or after the start date
EFFECT Returns the effective annual interest rate
ENCODEURL Returns a URL-encoded string
EOMONTH Returns the serial number of the last day of the month before or after a specified number of months
ERF Returns the error function
ERF.PRECISE Returns the error function
ERFC Returns the complementary error function
ERFC.PRECISE Returns the complementary ERF function integrated between x and infinity
ERROR.TYPE Returns a number corresponding to an error type
EUROCONVERT Converts a number to euros, converts a number from euros to a euro member currency, or converts a number from one euro member currency to another by using the euro as an intermediary (triangulation).
EVEN Rounds a number up to the nearest even integer
EXACT Checks to see if two text values are identical
EXP Returns e raised to the power of a given number
EXPON.DIST Returns the exponential distribution
EXPONDIST Returns the exponential distribution
FACT Returns the factorial of a number
FACTDOUBLE Returns the double factorial of a number
FALSE Returns the logical value FALSE
F.DIST Returns the F probability distribution
FDIST Returns the F probability distribution
F.DIST.RT Returns the F probability distribution
FIND Finds one text value within another (case-sensitive)
FINDB Finds one text value within another (case-sensitive)
F.INV Returns the inverse of the F probability distribution
F.INV.RT Returns the inverse of the F probability distribution
FINV Returns the inverse of the F probability distribution
FISHER Returns the Fisher transformation
FISHERINV Returns the inverse of the Fisher transformation
FIXED Formats a number as text with a fixed number of decimals
FLOOR Rounds a number down, toward zero
FLOOR.MATH Rounds a number down, to the nearest integer or to the nearest multiple of significance
FLOOR.PRECISE Rounds a number the nearest integer or to the nearest multiple of significance. Regardless of the sign of the number, the number is rounded up
FORECAST Returns a value along a linear trend
FORECAST.LINEAR Returns a value along a linear trend
FORMULATEXT Returns the formula at the given reference as text
FREQUENCY Returns a frequency distribution as a vertical array
F.TEST Returns the result of an F-test
FTEST Returns the result of an F-test
FV Returns the future value of an investment
FVSCHEDULE Returns the future value of an initial principal after applying a series of compound interest rates
GAMMA Returns the Gamma function value
GAMMA.DIST Returns the gamma distribution
GAMMADIST Returns the gamma distribution
GAMMA.INV Returns the inverse of the gamma cumulative distribution
GAMMAINV Returns the inverse of the gamma cumulative distribution
GAMMALN Returns the natural logarithm of the gamma function, Γ(x)
GAMMALN.PRECISE Returns the natural logarithm of the gamma function, Γ(x)
GAUSS Returns 0.5 less than the standard normal cumulative distribution
GCD Returns the greatest common divisor
GEOMEAN Returns the geometric mean
GESTEP Tests whether a number is greater than a threshold value
GROWTH Returns values along an exponential trend
HARMEAN Returns the harmonic mean
HEX2BIN Converts a hexadecimal number to binary
HEX2DEC Converts a hexadecimal number to decimal
HEX2OCT Converts a hexadecimal number to octal
HLOOKUP Looks in the top row of an array and returns the value of the indicated cell
HOUR Converts a serial number to an hour
HYPERLINK Creates a shortcut or jump that opens a document stored on a network server, an intranet, or the Internet
HYPGEOM.DIST Returns the hypergeometric distribution
HYPGEOMDIST Returns the hypergeometric distribution
IF Specifies a logical test to perform
IFERROR Returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula
IFNA Returns the value you specify if the expression resolves to #N/A, otherwise returns the result of the expression
IFS Checks whether one or more conditions are met and returns a value that corresponds to the first TRUE condition.
IMABS Returns the absolute value (modulus) of a complex number
IMAGINARY Returns the imaginary coefficient of a complex number
IMARGUMENT Returns the argument theta, an angle expressed in radians
IMCONJUGATE Returns the complex conjugate of a complex number
IMCOS Returns the cosine of a complex number
IMCOSH Returns the hyperbolic cosine of a complex number
IMCOT Returns the cotangent of a complex number
IMCSC Returns the cosecant of a complex number
IMCSCH Returns the hyperbolic cosecant of a complex number
IMDIV Returns the quotient of two complex numbers
IMEXP Returns the exponential of a complex number
IMLN Returns the natural logarithm of a complex number
IMLOG10 Returns the base-10 logarithm of a complex number
IMLOG2 Returns the base-2 logarithm of a complex number
IMPOWER Returns a complex number raised to an integer power
IMPRODUCT Returns the product of complex numbers
IMREAL Returns the real coefficient of a complex number
IMSEC Returns the secant of a complex number
IMSECH Returns the hyperbolic secant of a complex number
IMSIN Returns the sine of a complex number
IMSINH Returns the hyperbolic sine of a complex number
IMSQRT Returns the square root of a complex number
IMSUB Returns the difference between two complex numbers
IMSUM Returns the sum of complex numbers
IMTAN Returns the tangent of a complex number
INDEX Uses an index to choose a value from a reference or array
INDIRECT Returns a reference indicated by a text value
INT Rounds a number down to the nearest integer
INTERCEPT Returns the intercept of the linear regression line
INTRATE Returns the interest rate for a fully invested security
IPMT Returns the interest payment for an investment for a given period
IRR Returns the internal rate of return for a series of cash flows
ISBLANK Returns TRUE if the value is blank
ISERR Returns TRUE if the value is any error value except #N/A
ISERROR Returns TRUE if the value is any error value
ISEVEN Returns TRUE if the number is even
ISFORMULA Returns TRUE if there is a reference to a cell that contains a formula
ISLOGICAL Returns TRUE if the value is a logical value
ISNA Returns TRUE if the value is the #N/A error value
ISNONTEXT Returns TRUE if the value is not text
ISNUMBER Returns TRUE if the value is a number
ISODD Returns TRUE if the number is odd
ISREF Returns TRUE if the value is a reference
ISTEXT Returns TRUE if the value is text
ISO.CEILING Returns a number that is rounded up to the nearest integer or to the nearest multiple of significance
ISOWEEKNUM Returns the number of the ISO week number of the year for a given date
ISPMT Calculates the interest paid during a specific period of an investment
KURT Returns the kurtosis of a data set
LARGE Returns the k-th largest value in a data set
LCM Returns the least common multiple
LEFT Returns the leftmost characters from a text value
LEFTB Returns the leftmost characters from a text value
LEN Returns the number of characters in a text string
LENB Returns the number of characters in a text string
LN Returns the natural logarithm of a number
LOG Returns the logarithm of a number to a specified base
LOG10 Returns the base-10 logarithm of a number
LOGINV Returns the inverse of the lognormal cumulative distribution
LOGNORM.DIST Returns the cumulative lognormal distribution
LOGNORMDIST Returns the cumulative lognormal distribution
LOGNORM.INV Returns the inverse of the lognormal cumulative distribution
LOOKUP Looks up values in a vector or array
LOWER Converts text to lowercase
MATCH Looks up values in a reference or array
MAX Returns the maximum value in a list of arguments
MAXA Returns the maximum value in a list of arguments, including numbers, text, and logical values
MAXIFS Returns the maximum value among cells specified by a given set of conditions or criteria
MDETERM Returns the matrix determinant of an array
MDURATION Returns the Macauley modified duration for a security with an assumed par value of $100
MEDIAN Returns the median of the given numbers
MID Returns a specific number of characters from a text string starting at the position you specify
MIDB Returns a specific number of characters from a text string starting at the position you specify
MIN Returns the minimum value in a list of arguments
MINIFS Returns the minimum value among cells specified by a given set of conditions or criteria.
MINA Returns the smallest value in a list of arguments, including numbers, text, and logical values
MINUTE Converts a serial number to a minute
MINVERSE Returns the matrix inverse of an array
MIRR Returns the internal rate of return where positive and negative cash flows are financed at different rates
MMULT Returns the matrix product of two arrays
MOD Returns the remainder from division
MODE Returns the most common value in a data set
MODE.MULT Returns a vertical array of the most frequently occurring, or repetitive values in an array or range of data
MODE.SNGL Returns the most common value in a data set
MONTH Converts a serial number to a month
MROUND Returns a number rounded to the desired multiple
MULTINOMIAL Returns the multinomial of a set of numbers
MUNIT Returns the unit matrix or the specified dimension
N Returns a value converted to a number
NA Returns the error value #N/A
NEGBINOM.DIST Returns the negative binomial distribution
NEGBINOMDIST Returns the negative binomial distribution
NETWORKDAYS Returns the number of whole workdays between two dates
NETWORKDAYS.INTL Returns the number of whole workdays between two dates using parameters to indicate which and how many days are weekend days
NOMINAL Returns the annual nominal interest rate
NORM.DIST Returns the normal cumulative distribution
NORMDIST Returns the normal cumulative distribution
NORMINV Returns the inverse of the normal cumulative distribution
NORM.INV Returns the inverse of the normal cumulative distribution
NORM.S.DIST Returns the standard normal cumulative distribution
NORMSDIST Returns the standard normal cumulative distribution
NORM.S.INV Returns the inverse of the standard normal cumulative distribution
NORMSINV Returns the inverse of the standard normal cumulative distribution
NOT Reverses the logic of its argument
NOW Returns the serial number of the current date and time
NPER Returns the number of periods for an investment
NPV Returns the net present value of an investment based on a series of periodic cash flows and a discount rate
OCT2BIN Converts an octal number to binary
OCT2DEC Converts an octal number to decimal
OCT2HEX Converts an octal number to hexadecimal
ODD Rounds a number up to the nearest odd integer
ODDFPRICE Returns the price per $100 face value of a security with an odd first period
ODDFYIELD Returns the yield of a security with an odd first period
ODDLPRICE Returns the price per $100 face value of a security with an odd last period
ODDLYIELD Returns the yield of a security with an odd last period
OR Returns TRUE if any argument is TRUE
PDURATION Returns the number of periods required by an investment to reach a specified value
PEARSON Returns the Pearson product moment correlation coefficient
PERCENTILE.EXC Returns the k-th percentile of values in a range, where k is in the range 0..1, exclusive
PERCENTILE.INC Returns the k-th percentile of values in a range
PERCENTILE Returns the k-th percentile of values in a range
PERCENTRANK.EXC Returns the rank of a value in a data set as a percentage (0..1, exclusive) of the data set
PERCENTRANK.INC Returns the percentage rank of a value in a data set
PERCENTRANK Returns the percentage rank of a value in a data set
PERMUT Returns the number of permutations for a given number of objects
PERMUTATIONA Returns the number of permutations for a given number of objects (with repetitions) that can be selected from the total objects
PHI Returns the value of the density function for a standard normal distribution
PI Returns the value of pi
PMT Returns the periodic payment for an annuity
POISSON.DIST Returns the Poisson distribution
POISSON Returns the Poisson distribution
POWER Returns the result of a number raised to a power
PPMT Returns the payment on the principal for an investment for a given period
PRICE Returns the price per $100 face value of a security that pays periodic interest
PRICEDISC Returns the price per $100 face value of a discounted security
PRICEMAT Returns the price per $100 face value of a security that pays interest at maturity
PROB Returns the probability that values in a range are between two limits
PRODUCT Multiplies its arguments
PROPER Capitalizes the first letter in each word of a text value
PV Returns the present value of an investment
QUARTILE Returns the quartile of a data set
QUARTILE.EXC Returns the quartile of the data set, based on percentile values from 0..1, exclusive
QUARTILE.INC Returns the quartile of a data set
QUOTIENT Returns the integer portion of a division
RADIANS Converts degrees to radians
RAND Returns a random number between 0 and 1
RANDBETWEEN Returns a random number between the numbers you specify
RANK.EQ Returns the rank of a number in a list of numbers
RANK Returns the rank of a number in a list of numbers
RATE Returns the interest rate per period of an annuity
RECEIVED Returns the amount received at maturity for a fully invested security
REPLACE Replaces characters within text
REPLACEB Replaces characters within text
REPT Repeats text a given number of times
RIGHT Returns the rightmost characters from a text value
RIGHTB Returns the rightmost characters from a text value
ROMAN Converts an arabic numeral to roman, as text
ROUND Rounds a number to a specified number of digits
ROUNDDOWN Rounds a number down, toward zero
ROUNDUP Rounds a number up, away from zero
ROW Returns the row number of a reference
ROWS Returns the number of rows in a reference
RRI Returns an equivalent interest rate for the growth of an investment
RSQ Returns the square of the Pearson product moment correlation coefficient
SEARCH Finds one text value within another (not case-sensitive)
SEARCHB Finds one text value within another (not case-sensitive)
SEC Returns the secant of an angle
SECH Returns the hyperbolic secant of an angle
SECOND Converts a serial number to a second
SERIESSUM Returns the sum of a power series based on the formula
SHEET Returns the sheet number of the referenced sheet
SHEETS Returns the number of sheets in a reference
SIGN Returns the sign of a number
SIN Returns the sine of the given angle
SINH Returns the hyperbolic sine of a number
SKEW Returns the skewness of a distribution
SKEW.P Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean
SLN Returns the straight-line depreciation of an asset for one period
SLOPE Returns the slope of the linear regression line
SMALL Returns the k-th smallest value in a data set
SQRT Returns a positive square root
SQRTPI Returns the square root of (number * pi)
STANDARDIZE Returns a normalized value
STDEV Estimates standard deviation based on a sample
STDEV.P Calculates standard deviation based on the entire population
STDEV.S Estimates standard deviation based on a sample
STDEVA Estimates standard deviation based on a sample, including numbers, text, and logical values
STDEVP Calculates standard deviation based on the entire population
STDEVPA Calculates standard deviation based on the entire population, including numbers, text, and logical values
STEYX Returns the standard error of the predicted y-value for each x in the regression
SUBSTITUTE Substitutes new text for old text in a text string
SUBTOTAL Returns a subtotal in a list or database
SUM Adds its arguments
SUMIF Adds the cells specified by a given criteria
SUMIFS Adds the cells in a range that meet multiple criteria
SUMPRODUCT Returns the sum of the products of corresponding array components
SUMSQ Returns the sum of the squares of the arguments
SUMX2MY2 Returns the sum of the difference of squares of corresponding values in two arrays
SUMX2PY2 Returns the sum of the sum of squares of corresponding values in two arrays
SUMXMY2 Returns the sum of squares of differences of corresponding values in two arrays
SWITCH Evaluates an expression against a list of values and returns the result corresponding to the first matching value. If there is no match, an optional default value may be returned.
SYD Returns the sum-of-years' digits depreciation of an asset for a specified period
T Converts its arguments to text
TAN Returns the tangent of a number
TANH Returns the hyperbolic tangent of a number
TBILLEQ Returns the bond-equivalent yield for a Treasury bill
TBILLPRICE Returns the price per $100 face value for a Treasury bill
TBILLYIELD Returns the yield for a Treasury bill
T.DIST Returns the Percentage Points (probability) for the Student t-distribution
T.DIST.2T Returns the Percentage Points (probability) for the Student t-distribution
T.DIST.RT Returns the Student's t-distribution
TDIST Returns the Student's t-distribution
TEXT Formats a number and converts it to text
TEXTAFTER Returns text that occurs after given character or string
TEXTBEFORE Returns text that occurs before a given character or string
TEXTJOIN Combines the text from multiple ranges and/or strings
TIME Returns the serial number of a particular time
TIMEVALUE Converts a time in the form of text to a serial number
T.INV Returns the t-value of the Student's t-distribution as a function of the probability and the degrees of freedom
T.INV.2T Returns the inverse of the Student's t-distribution
TINV Returns the inverse of the Student's t-distribution
TODAY Returns the serial number of today's date
TRANSPOSE Returns the transpose of an array
TREND Returns values along a linear trend
TRIM Removes spaces from text
TRIMMEAN Returns the mean of the interior of a data set
TRUE Returns the logical value TRUE
TRUNC Truncates a number to an integer
T.TEST Returns the probability associated with a Student's t-test
TTEST Returns the probability associated with a Student's t-test
TYPE Returns a number indicating the data type of a value
UNICHAR Returns the Unicode character that is references by the given numeric value
UNICODE Returns the number (code point) that corresponds to the first character of the text
UPPER Converts text to uppercase
VALUE Converts a text argument to a number
VALUETOTEXT Returns text from any specified value
VAR Estimates variance based on a sample
VAR.P Calculates variance based on the entire population
VAR.S Estimates variance based on a sample
VARA Estimates variance based on a sample, including numbers, text, and logical values
VARP Calculates variance based on the entire population
VARPA Calculates variance based on the entire population, including numbers, text, and logical values
VDB Returns the depreciation of an asset for a specified or partial period by using a declining balance method
VLOOKUP Looks in the first column of an array and moves across the row to return the value of a cell
WEEKDAY Converts a serial number to a day of the week
WEEKNUM Converts a serial number to a number representing where the week falls numerically with a year
WEIBULL Calculates variance based on the entire population, including numbers, text, and logical values
WEIBULL.DIST Returns the Weibull distribution
WORKDAY Returns the serial number of the date before or after a specified number of workdays
WORKDAY.INTL Returns the serial number of the date before or after a specified number of workdays using parameters to indicate which and how many days are weekend days
XIRR Returns the internal rate of return for a schedule of cash flows that is not necessarily periodic
XLOOKUP Searches a range or an array, and returns an item corresponding to the first match it finds. If a match doesn't exist, then XLOOKUP can return the closest (approximate) match.
XNPV Returns the net present value for a schedule of cash flows that is not necessarily periodic
XOR Returns a logical exclusive OR of all arguments
YEAR Converts a serial number to a year
YEARFRAC Returns the year fraction representing the number of whole days between start_date and end_date
YIELD Returns the yield on a security that pays periodic interest
YIELDDISC Returns the annual yield for a discounted security; for example, a Treasury bill
YIELDMAT Returns the annual yield of a security that pays interest at maturity
Z.TEST Returns the one-tailed probability-value of a z-test
ZTEST Returns the one-tailed probability-value of a z-test

results matching ""

    No results matching ""