I've done the following:
a) created an IIf section for [Mess Card]=True and which is then broken down into your 3 IIf statements
b) reversed the 3 statements so you have >=2 ; 1; 0 as your conditions
c) added Null as the output if [Mess Card]=False
I've assumed 'Mess Card' is a Yes/No field
If its text, replace True with 'Yes'
Code:
IIf([Mess Card]=True,IIf([From Date]-[Submission Date]>=2,[Total Days],0,IIf([From Date]-[Submission Date]=1,[Total Days]-1,IIf([From Date]-[Submission Date]=0,[Total Days]-2,0))),Null)
Hopefully I've got the bracketing correct but no promises ...
TEST it carefully & CHECK it gives correct answers
However, personally I wouldn't do an expression with 4 IIf as its too easy to make mistakes
A much easier approach would be a UDF with select cases for >=2;1;0 scenarios ... or a lookup table