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

AntiFilterValues( ListA; ListB )

Rate this function:  

  Average rating: 4.3  (47 votes)
  Discuss this Custom Function

Bruce Robertson, Concise Design

Return values only contained in ListA

Sample Input:
AntiFilterValues( "1¶2¶3¶4¶1¶"; "1¶3")

Assuming you have archived a list of record ID values for a table:
AntiFilter(OldRecIDlist; newRecIDList)
Sample Output:

List of deleted records

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


Updated 5/3/2009 - correct results if listB is empty (returns ListA)
Updated 10/13/2008 - now correctly fully matches list item

Another custom function that does the opposite of the built-in FilterValues function. It returns the list of items that are only contained in ListA.

This one has high performance across tens of thousands of records and in my testing, beat performance of some of the compile and calculate list methods.

Deals with recursion limit by using a hardwired multiline calculation, and by dwindling the list.

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


The use of a variable in here is problematic if, as is the case here, the variable is a name that might well be used elsewhere in a solution (like in a script that calls this function.)

I would recommend changing $top to $toptoptoptop, or something even more obscure like $Ilovebaconbutihatefrenchtoast .

Christopher Bailey, Boston MA
February 04, 2015 12:40pm

Kudos! Doesn't fail from the "duplicate sequential values" bug like so many other list functions. And fantastic to code around the recursion limit!

Christopher Bailey: How about renaming the local variable to $AntiFilterValues_top or even $AFV_top ? Might be unique enough to avoid conflicts and yet easier to decipher if pops up in debugging.

John Davis, Houston
July 04, 2015 5:41pm

One of my "you can pry it from my cold dead fingers" CF's... it's a rare week that I don't find a use for this. Thank you Bruce.

Kevin Frank, Arcata, CA
January 10, 2018 3:57pm

And thank you, Frank, master of FileMaker techniques and wonderfully helpful example files!

Bruce Robertson, Redmond WA
January 11, 2018 11:38am

Ack. Kevin Frank, that is!

Bruce Robertson, Redmond WA
January 11, 2018 11:38am

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 7 + 7 =
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. ChiSquare3x2 ( param ; param ; param ; param )
  (Tue, Aug 14, 6:33am)
2. ReverseByteOrder ( bytes )
  (Thu, Aug 09, 12:06pm)
3. BytesToDec ( hex )
  (Thu, Aug 09, 11:47am)
4. GetAsHexBytes ( number ; bytes )
  (Thu, Aug 09, 10:50am)
5. ValCorrelationCoeff ( XValueList; YValueList; Xmean; Ymean; XStdDev; YStdDev )
  (Wed, Aug 08, 4:17pm)
6. ValLeastSquaresSlope ( XValueList; YValueList; Xmean; Ymean )
  (Wed, Aug 08, 4:10pm)
7. ValueMath ( List1 ; List2 ; operation )
  (Wed, Aug 08, 4:05pm)
8. GetExtension ( File )
  (Tue, Aug 07, 10:22am)

RSS Feed of Custom Functions