Advanced Excel functions

Modified on Sat, 14 Nov at 10:00 AM

Power-user advanced functions are new Excel functions added by the Power-user add-in, such as CAGR, SumColor, Weighted_Average, CountUnique or Vlookup_Max, that you use in your formulas like any native Excel function. They cover growth rates, sums by cell color, lookups, counting, text and workbook checks that Excel does not offer, or only with complex formulas.

In short

  • How: type = in a cell and the name of the function, as for any Excel function
  • Where to browse them: the Power-user category of the Excel Insert Function wizard
  • What you get: 28 functions for calculations, colors, lookups, counting, text and workbook checks
  • Sharing: the recipient of your workbook needs Power-user installed for the functions to work

How to use an advanced function in Excel

  1. In a cell, type = followed by the name of the function, for example =CAGR(.
  2. Enter its arguments as for any Excel function, then press Enter.

Using a Power-user advanced function in an Excel formula

Using a Power-user advanced function in an Excel formula

To browse the functions and their arguments, open the Excel Insert Function wizard and choose the Power-user category.

Power-user category in the Excel Insert Function wizard

Power-user category in the Excel Insert Function wizard

List of the Power-user advanced functions

Power-user advanced functions in Excel

Power-user advanced functions in Excel

Growth and calculations

FunctionWhat it doesExample
CAGR(ending_value, beginning_value, number_of_years)Compound Annual Growth Rate between two values over a number of years. beginning_value cannot be zero.CAGR(130,100,4) returns 7%
Percent_Change(beginning_value, ending_value)Percentage change from one value to another.Percent_Change(100,120) returns 20%
Weighted_Average(values, weights)Average of the values of a column weighted by the values of another column.With 10 and 20 in A1:A2 and weights 1 and 3 in B1:B2, Weighted_Average(A1:A2,B1:B2) returns 17.5
RMS(array)Root Mean Square (quadratic mean) of a set of data.With 3 and 4 in A1:A2, RMS(A1:A2) returns 3.54
SumFromAllSheets(reference_range, include_active_sheet)Sum of the same cell or range in all the sheets of the workbook. Set include_active_sheet to TRUE to include the current sheet, FALSE to exclude it.SumFromAllSheets(A1,FALSE) sums A1 in all sheets except the current one

Sum and count by cell color

FunctionWhat it doesExample
SumColor(range, reference_color_cell)Sum of the cells of a range that have the same fill color as the reference cell.SumColor(A1:D10,A1) sums the cells of A1:D10 with the fill color of A1
CountColor(range, reference_color_cell)Number of cells of a range that have the same fill color as the reference cell.CountColor(A1:D10,A1) counts the cells of A1:D10 with the fill color of A1

Lookups: maximum and minimum match

Unlike VLOOKUP and HLOOKUP, which return the first match, these functions return the maximum or minimum of all the results that match the lookup value.

FunctionWhat it doesExample
Vlookup_Max(lookup_value, table_array, column_number)Maximum of all the results matching lookup_value, searched in the leftmost column of table_array.With regions in column A and sales in column C, Vlookup_Max("North",A2:C20,3) returns the highest sale of North
Vlookup_Min(lookup_value, table_array, column_number)Minimum of all the results matching lookup_value, searched in the leftmost column of table_array.With regions in column A and sales in column C, Vlookup_Min("North",A2:C20,3) returns the lowest sale of North
Hlookup_Max(lookup_value, table_array, row_number)Maximum of all the results matching lookup_value, searched in the top row of table_array.With regions in row 1 and sales in row 3, Hlookup_Max("North",B1:M3,3) returns the highest sale of North
Hlookup_Min(lookup_value, table_array, row_number)Minimum of all the results matching lookup_value, searched in the top row of table_array.With regions in row 1 and sales in row 3, Hlookup_Min("North",B1:M3,3) returns the lowest sale of North

Counting

FunctionWhat it doesExample
CountUnique(range)Number of unique values in a range.CountUnique(A1:A10) returns 8 if A1:A10 contains 8 unique values
CountVisible(range)Number of visible cells in a range.CountVisible(A1:A10) returns 5 if only half of the cells are visible
CountWords(range)Number of words in a range that contains text.CountWords(A1) returns 2 if A1 contains two words separated by a space

Text

FunctionWhat it doesExample
Word_n(text, word_position)The n-th word of a text. word_position is an integer.Word_n("I really love using Power-user",3) returns "love"
Concatenate_Range(reference_range, separator)Concatenation of all the cells of a range, with an optional separator (a text string) between cells.With North, South and East in A1:A3, Concatenate_Range(A1:A3,", ") returns "North, South, East"

Workbook and sheet information

Sheet, range, shape and slicer names are entered as text strings, between quotes.

FunctionWhat it doesExample
SheetExists(sheet_name)TRUE if the active workbook has a sheet with this name, FALSE otherwise.SheetExists("Sheet1")
RangeExists(sheet_name, range_name)TRUE if the sheet contains a named range with this name, FALSE otherwise. Range names are listed in Formulas > Name Manager.RangeExists("Sheet1","MyRange") returns TRUE if Sheet1 has a range named MyRange
ShapeExists(sheet_name, shape_name)TRUE if the sheet contains a shape with this name, FALSE otherwise. Shape names are listed in the Selection Pane.ShapeExists("Sheet1","Rectangle1") returns TRUE if Sheet1 has a shape named Rectangle1
SheetName(reference_cell)Name of the sheet that contains the reference cell.SheetName(Sheet1!A1) returns "Sheet1"
LastCell(sheet_name)Value of the last cell (bottom right) of the sheet.LastCell("Sheet1") returns the value of $C$9
LastCellAddress(sheet_name)Address of the last cell (bottom right) of the sheet.LastCellAddress("Sheet1") returns "$C$9"
LastColumnNumber(sheet_name)Number of the last column of the sheet.LastColumnNumber("Sheet1") returns 3
LastRowNumber(sheet_name)Number of the last row of the sheet.LastRowNumber("Sheet1") returns 9
UsedRange(sheet_name)Address of the range used in the sheet.UsedRange("Sheet1") returns A1:D10 if no data is below row 10 or right of column D
HasFormulas(reference_cell)TRUE if the cell contains a formula, FALSE if it contains a value or is empty.HasFormulas(A1)
IsMerged(reference_cell)TRUE if the cell is merged with other cells, FALSE otherwise.IsMerged(A1)
SlicerItems(slicer_name)List of the items selected in a slicer, separated by commas. The slicer name is shown in Slicer Settings, under Name to use in formulas.SlicerItems("Slicer_Field1")

Sharing a workbook that uses advanced functions

Advanced functions need Power-user to run. If you send a workbook that uses them to someone who does not have Power-user installed, the functions return an error.

That is why the advanced functions are included in the Power-user Free Forever license: the recipient can install Power-user without buying a license and still read, edit or add advanced functions. See Installing Power-user.

See also: other Power-user tools for Excel, such as UnPivot table, Delete empty cells and the Excel-PowerPoint link.

Frequently asked questions about Power-user advanced Excel functions

How do I calculate a CAGR in Excel?

With the Power-user add-in, use the CAGR function: =CAGR(ending_value, beginning_value, number_of_years). For example, =CAGR(130,100,4) returns 7%.

How do I sum cells by color in Excel?

Excel has no native function to sum by color. With Power-user, use =SumColor(range, reference_color_cell): it sums the cells of the range that have the same fill color as the reference cell. CountColor counts them.

How do I calculate a weighted average in Excel?

With Power-user, use =Weighted_Average(values, weights): it returns the average of the values weighted by the values of the second range.

How do I count unique values in Excel?

With Power-user, use =CountUnique(range): it returns the number of unique values in the range.

How do I get the maximum of all matches of a VLOOKUP?

With Power-user, use =Vlookup_Max(lookup_value, table_array, column_number): it returns the maximum of all the results that match the lookup value. Vlookup_Min returns the minimum.

Do Power-user functions work if the recipient does not have Power-user?

No. Power-user advanced functions return an error if Power-user is not installed. The recipient can install Power-user with the Free Forever license, which includes the advanced functions.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article