Excel has nice built in function NETWORKDAYS unfortunately it is not available in SharePoint
Available functions in SharePoint to work with dates are DATEDIFF, WEEKDAY
There is a lot of examples you can find, but all that I have found so far have errors.
So had to create my own.
=(FLOOR((DATEDIF(StartDate,EndDate,"D")+1)/7.0000001,1)+1)*5
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))=1,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<3,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<4,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<5,1,0)
-IF(AND(WEEKDAY(StartDate,2)<>1, IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<>7, (IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))+WEEKDAY(StartDate,2))>6),1,0)
-IF(AND(WEEKDAY(StartDate,2)<7, WEEKDAY(StartDate,2)>2, IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<6, (IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))+WEEKDAY(StartDate,2))>7),1,0)
+IF( AND(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))=6, WEEKDAY(StartDate,2)=7),1,0)
Just copy/paste in Calculated field and replace StartDate and EndDate with appropriate field names.
Available functions in SharePoint to work with dates are DATEDIFF, WEEKDAY
There is a lot of examples you can find, but all that I have found so far have errors.
So had to create my own.
=(FLOOR((DATEDIF(StartDate,EndDate,"D")+1)/7.0000001,1)+1)*5
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))=1,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<3,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<4,1,0)
-IF(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<5,1,0)
-IF(AND(WEEKDAY(StartDate,2)<>1, IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<>7, (IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))+WEEKDAY(StartDate,2))>6),1,0)
-IF(AND(WEEKDAY(StartDate,2)<7, WEEKDAY(StartDate,2)>2, IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))<6, (IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))+WEEKDAY(StartDate,2))>7),1,0)
+IF( AND(IF(MOD((DATEDIF(StartDate,EndDate,"D")+1),7)=0,7,MOD((DATEDIF(StartDate,EndDate,"D")+1),7))=6, WEEKDAY(StartDate,2)=7),1,0)
Just copy/paste in Calculated field and replace StartDate and EndDate with appropriate field names.