PrecisionCalc
xl
Precision
Get Your Numbers Right

 

xlpMODE

Returns the most frequently occurring of the numeric arguments, with up to 32,767 significant digits of precision. Same as Excel's built-in MODE function, but with high precision.

Can optionally return a table of all unique numeric arguments in one column, with the count of times they occur in another column, sorted from most frequently occurring to least frequently occurring.

To return a table, xlpMODE must be array-entered. To array-enter an xlpMODE formula, follow these steps:

  1. Select the cells in which you want the table. The selection must be two columns wide, and as many rows high as desired.
  2. With the cells selected, type the formula in the top-left cell of the selected cells. Do not press Enter yet!
  3. With the cells still selected, and with the top-left cell still in Edit Mode (because you haven't pressed Enter yet), press and hold down the CTRL and SHIFT keys.
  4. With the cells still selected, and with the CTRL and SHIFT keys still held down, press Enter.
  5. You should see the table in the selected cells.

Syntax

xlpMODE(numlist...,,format)

numlist... Required. The list of numbers and/or cell ranges for which to find the average. Accepts up to 29 numlist arguments, or up to 28 if the optional format argument is used. Ignores text that can't be evaluated to a number. Ignores blank cells.
format Optional. Determines formatting options (formatting negatives with parentheses instead of a leading hyphen, adding thousands separators, adding currency symbol, and formatting in exponential notation), and setting maximum significant digits.

Also determines whether to return a table of all unique numeric arguments in one column, with the count of times they occur in another column.

Any argument that begins with the text "format:" (must include the colon at the end) is evaluated as a format argument.

Each of the four format options can be used individually in separate arguments, or any number of them can be combined in the same argument.

When combining multiple format options into one format argument:

  • The text "format:" need only appear at the beginning.
  • The text "negative", thousands", "currency", "exponent", and/or "MSD=" can appear anywhere after the text "format:".
  • Any uninterrupted series of numeric digits appearing right after the text "MSD=" are taken to be the number of maximum significant digits.
  • The first ampersand ("&") appearing after "blank=" is taken to mark the end of the text to use in blank cells.
  • See below for examples of valid and invalid combination format values.

Must be enclosed in double quotes ("") if included directly in an xlpAVERAGE argument. Double quotes are not necessary if the format argument references a cell in which the format argument is entered.

May be included anywhere in the series of xlpAVERAGE arguments -- can be the first argument, or the last, or anywhere in-between.

The format argument is not case sensitive.

format value

Result
format:table Returns a table of all unique numeric arguments in one column, with the count of times they occur in another column, sorted from most frequently occurring to least frequently occurring.

If format:table is used, other format arguments are applied to all values in the table.

format:blank=<text>& If format:table is used, determines the text used in any extra cells.
format:negative If return value is negative, it is formatted with parentheses ("()") instead of the default leading hyphen ("-").

You can also format negatives with a red font.

format:thousands Return value is formatted with thousands separators (commas in English).
format:currency Return value is formatted with the local currency symbol. The currency symbol will be added either to the beginning or to the end of the result, whichever is appropriate for the locale.
format:exponent Return value is formatted in exponential notation.
format:MSD=n Determines the maximum number of significant digits to be returned. Default is 100, or the user's custom maximum set in the About box, or the maximum number allowed by the edition of xlPrecision, whichever is less.

Examples of valid combination format values

format:negative,thousands,currency,MSD=200
(recognizes negative, thousands, currency, and MSD=200)
format:  negative - thousands - currency - MSD=75  blah blah this extra text is ignored
(recognizes negative, thousands, currency, and MSD=75)
format:negativethousandscurrencyMSD=1000
(recognizes negative, thousands, currency, and MSD=1000)
FORMAT:NEGATIVE,THOUSANDS,CURRENCY,MSD=200
(recognizes negative, thousands, currency, and MSD=200)
Format:Negative,Thousands,cUrReNcY,msD=200
(recognizes negative, thousands, currency, and MSD=200)
format:MSD=200,thousands,negative,currency
(recognizes MSD=200, thousands, negative, and currency)
format:table  blah blah this extra text is ignored  blank=empty&
(recognizes table, and blank text = "empty")
format:currency,thousands
(recognizes currency and thousands)
Examples of invalid combination format values
format negative,thousands,currency,MSD=200
(missing colon (:) after "format")
format = negative,thousands,currency,MSD=200
(missing colon (:) after "format")
Examples of partially valid combination format values
format:negative,thousands,currency,MSD200
(recognizes negative, thousands, currency, BUT missing "=" after "MSD")
format:negative,thousands,currency,MSD:200
(recognizes negative, thousands, currency, BUT missing "=" after "MSD")
format:negative,thousand,currency,MSD=200
(recognizes negative, currency, and MSD=200, BUT "thousands" is misspelled as "thousand")
format:negative,thousands,currency,MSD=1,000
(recognizes negative, thousands, currency, BUT MSD is recognized as 1, not 1000, because the comma (",") is not a numeric digit)

Remarks

Examples

Formula Description Result
=xlpMODE(1,2,2,2,3,3) Most frequently occurring of 1,2,2,2,3,and 3 2
=xlpMODE(A1:B2)
 
  A B
1 10 10
2 20 40
Most frequently occurring of values in cells A1:B2 10
=xlpMODE(A1:C3)
 
  A B C
1 10 abc 30
2 20 10  
3 30 20 30
Most frequently occurring of values in cells A1:C3, ignoring text in cell B1 and ignoring blank cell (C2) 30
 
=xlpMODE(A1:C3,"format:negative,thousands,currency")
 
  A B C
1 -10,000 abc -30,000
2 -20,000 -10,000  
3 -30,000 -20,000 -30,000
Most frequently occurring of values in cells A1:C3, ignoring text in cell B1 and ignoring blank cell (C2), and formatting with parentheses for negatives, with thousands separators, with local currency symbol, and limiting significant digits to 20 ($30,000)
=xlpMODE(A1:C3,format:negative,thousands,currency)
 
  A B C
1 -10,000 abc -30,000
2 -20,000 -10,000  
3 -30,000 -20,000 -30,000
Most frequently occurring of values in cells A1:C3, ignoring text in cell B1 and ignoring blank cell (C2), and with double quotes missing from around formatting argument -30000
(missing double quotes around format argument)

 

=xlpMODE(A1:C3,A4)
 
  A B C
1 -10,000 abc -30,000
2 -20,000 -10,000  
3 -30,000 -20,000 -30,000
4

 format:negative,thousands,currency

Most frequently occurring of values in cells A1:C3 and A4, ignoring text in cell B1 and ignoring blank cell (C2), and formatting with parentheses for negatives, with thousands separators, with local currency symbol, and limiting significant digits to 20 ($30,000)
(double quotes around format argument not necessary if format argument references a cell in which the format argument is entered)
=xlpMODE(A1:C3,A4)
 
  A B C
1 -10,000 abc -30,000
2 -20,000 -10,000  
3 -30,000 -20,000 -30,000
4

 format:exponent

Most frequently occurring of values in cells A1:C3 and A4, ignoring text in cell B1 and ignoring blank cell (C2), and formatting in exponential notation -3.0E+4
=xlpMODE(A1:C3,"format:currency",A4:A5)
 
  A B C
1 -10,000 abc -30,000
2 -20,000 -10,000  
3 -30,000 -20,000 -30,000
4

 format:negative

 
5

 format:thousands

 
Most frequently occurring of values in cells A1:C3 and A4:A5, ignoring text in cell B1 and ignoring blank cell (C2), and formatting with parentheses for negatives, with thousands separators, with local currency symbol, and limiting significant digits to 20 ($30,000)
=xlpMODE(A1:C26,"format:table,thousands,blank=---&")
(array-entered in C1:D20)
 
  A
1  100000000000000000000.1
2  1000000000000000000000.1
3  10000000000000000000000.1
4  100000000000000000000.01
5  1000000000000000000000.01
6  100000000000000000000.001
7  1000000000000000000000.001
8  100000000000000000000.0001
9  1000000000000000000000.0001
10  $1,000
11  1,234,567,890,123,456,789.012345
12  $1,234,567,890,123,456,789.012345
13  1234567890123456789.012345
14  $100000000000000000000
15  $1000
16  5
17  1.00000000000000000000000000001
18  100,000,000,000,000,000,000.1
19  1,000,000,000,000,000,000,000.1
20  10,000,000,000,000,000,000,000.1
21  100,000,000,000,000,000,000.01
22  1,000,000,000,000,000,000,000.01
23  100,000,000,000,000,000,000.001
24  1,000,000,000,000,000,000,000.001
25  100,000,000,000,000,000,000.0001
26  1,000,000,000,000,000,000,000.0001
Most frequently occurring of values in cells A1:C3, ignoring text in cell B1 and ignoring blank cell (C2), and returning a table of all unique numeric arguments in one column, with the count of times they occur in another column, sorted from most frequently occurring to least frequently occurring.

 

Also, formatting all values in the table with thousands separators, and displaying "---" in unused cells.

 
 
 
 

C

D
1 3  1,234,567,890,123,456,789.012345
2 2  1,000,000,000,000,000,000,000.1
3 2  10,000,000,000,000,000,000,000.1
4 2  100,000,000,000,000,000,000.01
5 2  1,000,000,000,000,000,000,000.01
6 2  100,000,000,000,000,000,000.001
7 2  1,000,000,000,000,000,000,000.001
8 2  100,000,000,000,000,000,000.0001
9 2  1,000,000,000,000,000,000,000.0001
10 2  1,000
11 2  100,000,000,000,000,000,000.1
12 1  100,000,000,000,000,000,000
13 1  5
14 1  1.00000000000000000000000000001
15 ---  ---
16 ---  ---
17 ---  ---
18 ---  ---
19 ---  ---
20 ---  ---

See Also

xlpAVERAGE
xlpMEDIAN