# TotalRowFunction Enumeration

Lists functions to calculate the totals of table columns.

## Public Members

Name Description
Average Returns the average (arithmetic mean) of the numbers contained in the table column.
Count Returns the number of cells with non-empty values contained in the table column.
CountNums Returns the number of cells with numeric values contained in the table column.
Custom Indicates that a custom formula (TableColumn.TotalRowFormula or TableColumn.TotalRowArrayFormula) is used to calculate the total for the table column.
Max Returns the largest number contained in the table column.
Min Returns the smallest number contained in the table column.
None Indicates that neither a predefined function (TableColumn.TotalRowFunction) nor a custom formula (TableColumn.TotalRowFormula or TableColumn.TotalRowArrayFormula) is used to calculate the total for the table column.
StdDev Calculates the standard deviation based on the sample contained in the table column.
Sum Returns the sum of the numbers contained in the table column.
Var Calculates the variance of the sample contained in the table column.
Top

## Remarks

The TotalRowFunction enumeration members are used by the TableColumn.TotalRowFunction property.

## Example

This example demonstrates how to create a table from a range of cells. The sample range includes a list of products and invoice information on each product: price, quantity and discount.

The resulting table will provide an additional column to calculate the amount per product, and an additional row to show the total amount. Follow the steps below:

1. Create a Table

Add a new Table object to the worksheet's collection of tables (Worksheet.Tables) via the TableCollection.Add method. Pass the following parameters:

• The range of cells that you wish to format as a table. Use the "B2:F5" range reference instead of "B2:E5" to include an additional column to the right that calculates and displays product amounts.
• A Boolean value indicating that the top row of the specified range will be the table header.
2. Format the Table

Format the table by applying one of the built-in table styles. To do this, set the Table.Style property to the table style object from the IWorkbook.TableStyles collection. Access the desired style by its BuiltInTableStyleId identifier.

3. Table Columns

Access table columns by their indexes from the column collection that the Table.Columns property returns.

To specify the last column header, set its TableColumn.Name property to "Amount". Headers of other table columns are automatically set to the values of the corresponding cells:

• table.Columns[0].Name = "Product"
• table.Columns[1].Name = "Price"
• table.Columns[2].Name = "Quantity"
• table.Columns[3].Name = "Discount"
5. Calculated Column

Specify the formula to calculate the product amount, and assign it to the Amount column using the TableColumn.Formula property. In the formula, refer to table columns by their headers.

6. Table Total Row

Set the Table.ShowTotals property to true, to display the total row at the bottom of the table.

7. Total Row Function

Specify the function to calculate the total amount. To do this, set the TableColumn.TotalRowFunction property of the Amount column to Sum.

Note

In the total row, you can use any formulas you wish, not only functions listed by the TotalRowFunction enumerator. To use a custom formula in the total row, assign it to the TableColumn.TotalRowFormula property of the required table column.

8. Table Ranges and Data Ranges

Specify number formats to display numbers as currency values in the Price and Amount columns, and as percentage values in the Discount column. To access the data range of a table column, use the TableColumn.DataRange property.

Use the Table.HeaderRowRange and Table.TotalRowRange properties to access table header and total row ranges, and set the alignment.

Change the width of table columns. To do this, access the table range via the Table.Range property, and use its Range.ColumnWidthInCharacters property.

9. The image below shows the results.