It needs to be the other way round:
If ( IsEmpty ( DateFileClosed ) ; Get (CurrentDate) - ComplaintReceived ; DateFileClosed - ComplaintReceived )
If ( not DateFileClosed ; Get (CurrentDate) ; DateFileClosed ) - ComplaintReceived
The result type should be Number, and the calculation must be unstored.
Thank you so much - I used your short version and it worked perfectly!
(I clicked the Kudos thing and then I clicked ok before realising this gave a '1' result, so I'm not sure if there was a way to give you more than '1' but I can't seem to change it now - sorry!)