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

calcEndDate ( startDate; numDays; loopCount; holidayList; allowWeekends; direction )

Rate this function:  

  Average rating: 3.9  (49 votes)
  Discuss this Custom Function

Shan Younker, Shan Younker

Calculate date by adding or subtracting days, option for skipping weekends

Sample Input:
CalcEndDate (9/9/2009; 5; 0; $$holidayList; "" ; "b")
Sample Output:

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


Function for calculating an end date based on a start date and a number of days. Function has options to calculate forward or backwards and can allow for an end date to fall on a weekend or holiday or not. The function is a simple recursive loop that adds or subtracts one day from the start date each time through the loop, no complicated date formulas required. When the number of times through the loop equals the number of days originally passed to the function, the function returns the calculated date. If the flag is set to allow a weekend/holiday end date, the function does simply adds or subtracts the number of days from the start date.

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



Great work!

The only issue I have is:

Start Date: 3-15-10
End Date: 4-15-10

If I prepare a report in any given database, based upon these dates, and want to compare the results with data from each of the past 6 months, how many days do I tell your custom function to back up since some months have more/less days than others?


I hope you don't mind me asking.

Jeffrey E. Bloch, Fairfield, CT
February 15, 2011 3:25pm

Sorry Shan, I noticed this was and assumed these were his.

Nice work!

Jeffrey E. Bloch, Fairfield, CT
February 15, 2011 3:35pm


I'm using this custom function... calcEndDate...
which is working fine at excluding weekend dates.

However, I'm having trouble incorporating my holidayList of exclusion
dates, into the function.

I currently have a separate Holiday List file of 10 holiday records/dates.

If I am understanding correctly... I need to get these 10 date records
into a single global field, for the function to exclude the holidays from.

Not sure if this is the correct approach... please advise.

I also took the approach, of setting up a separate table, with 10 individual records... but ended up with the same resulting conundrum...

I believe the calcEndDate function requires a single global field of holiday dates.

It seems I'm still not grasping the simplicity of what needs to be done.

The sample input references $$holidayList...
however I'm not well versed in the use of global variables yet.

Jeff Byers, Ft. Lauderdale, FL
March 09, 2013 8:29am

For the holidayList, just create a field and set it to Global. In the field, just list out the holidays dates, one date per line as such:


No commas seem to be needed.

Fred, CA
October 09, 2017 4:20pm

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 + 2 =
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. SortList ( theList )
  (Sat, Jun 23, 8:45am)
2. HexUUIDToNum_cf (_uuid)
  (Sat, Jun 16, 1:55pm)
3. httpResponseCode ( responseHeaders )
  (Tue, Jun 12, 10:40pm)
4. FindDuplicateCharacters ( string )
  (Fri, Jun 08, 5:01pm)
5. FieldRepetitionLast ( field ; maxRepetition )
  (Wed, Jun 06, 6:05pm)
6. CountModifiedRecords ( NameTimestampField ; StartTimestamp ; EndTimestamp )
  (Mon, May 28, 8:23am)
7. JSONArrayLength ( JSONArrayStr )
  (Fri, May 25, 7:46am)
8. interpolation (y1; y2; y3; x1; x2; x3; x1y1; x2y1; x1y2; x2y2; rnd)
  (Sat, May 19, 3:55am)

RSS Feed of Custom Functions