Software Venture Consulting

FileMaker Pro downloads & Resources
FileMaker Custom Functions
FileMaker Web Viewer Examples
FileMaker Pro & Lasso Consulting
FileMaker Books
FileMaker Articles
FileMaker Error Reference

Free Web Tools
Free FileMaker Tools

Personal Pages

Shopping Cart
Shopping Cart


Free Newsletter


Privacy Policy

FileMaker is a registered trademark of FileMaker, Inc. in the U.S. and other countries.


 FileMaker Pro Custom Functions

List  |  Show Random  |  Upload  |  Add This to Your Site

ValueMean ( ValueList )

Rate this function:  

  Average rating: 4.7  (15 votes)
  Discuss this Custom Function

Bill Thurmes, Miyota Development Center of America

Gives the mean / average of a value List of numbers

Sample Input:
Example: ValueMean ( "5¶8¶24¶3¶6" )
Example: ValueMean ( "5¶a¶24¶3¶6" )

Example: ValueMean ( "5¶-8¶24¶3¶6¶" )
Sample Output:

7.6 ('a' resolves as 0)

6 (ValueCount ignores the final ¶, and the +0 makes the Evaluate work with the trailing ¶)

 Then copy & paste into FileMaker Advanced's Edit Custom Function window.


The native Average function in FileMaker only works on fields, but it is often more efficient to work with value lists and do all calculations in memory. This is particularly true when you use ESQL, where the answer is returned as a value list. The ValueMean function gives the mean or average of a set of numerical values in a ¶-delimited value list. One caveat: if a non-numerical value is used, it is evaluated as 0.

Note: these functions are not guaranteed or supported by Please contact the individual developer with any questions or problems.

This is my Custom Function and I want to edit it


Why not:

Evaluate ( Substitute ( ValueList ; "¶" ; "+" ) ) / ValueCount ( ValueList )

Ron Greene, Phoenix, AZ
March 07, 2016 11:03am

Good suggestion, and better than using a recursive custom function.

However, you have to ensure that all members of the value list are numbers; the second example (with an "a") gives "?" as an answer using your suggestion.

Evaluate ( Substitute ( Filter ( ValueList ; "0123456789-.¶" ) ; "¶" ; "+" ) ) / ValueCount ( ValueList )

should solve that.

Thanks for your suggestion!

Bill Thurmes, Longmont, CO
March 08, 2016 9:36am

I ran into the problem of the trailing "¶" being converted to a "+" and the Evaluate failed. I must be doing something different than you. So either shorten the string by one character or add a "0" to the end so the Evaluate works.

Chuck Palmer, Boulder, CO
March 23, 2016 7:43am

Hey, Boulder, just down the road from me!

Ah, the joys of error-trapping. Here's the fix:

Changing the '+' to '+0' seems to do the trick, even with negative numbers (so the ¶-8 sequence ends up being +0-8; the leading 0 doesn't alter the value of any other number). This will work for any number of leading or trailing ¶s, but of course each additional ¶, except for the initial trailing one, means an additional value that you divide by to get the mean.

Note that ValueMean ( "" ) results in ?, because it's a divide-by-zero situation.

Bill Thurmes, Longmont, CO
March 23, 2016 10:31am

I found out that RightValues and LeftValues leave a trailing ¶ to the resulting list. That is why I had a trailing ¶. This has cause me problems in other calculations. So now I am aware of this.

Chuck Palmer, Boulder, CO
March 27, 2016 8:59am

Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:

Your Name:
characters left. If you paste in more than 1500 characters, it will be truncated. Discuss the function - advertisements and other useless posts will be deleted.
Answer 6 + 9 =
Search for Custom Functions:

Custom Functions Widget
Download the Custom Function Dashboard Widget for OS X
Keep all the latest Custom Functions right at your fingertips!

Newest Custom Functions:

1. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
2. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
3. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
4. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
5. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
6. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
7. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)
8. @JSONFormatElements ( json )
  (Tue, May 15, 3:31am)

RSS Feed of Custom Functions