根据date范围计算日工资的公式

我正在工作病假工资表。 我遇到的问题是我们用两种不同的方式支付; 除了二月份之外,每个月都会使用(在我的工作表中):

B21/365*P28 (where B21 = annual salary and P28 = number of days) 

但是,我想创build一个公式,区分一个人在二月份生病,并以二月份的二月付款

 B21/12/28*P28 

我认为这将是一个简单的if(and())但我不能得到它的工作。

我的病假date加在F28 (开始) -G28 (结束)之间。

我想知道2月份的date,2月份的日子是多less天,还有其他的日子是正常的。

举个例子,如果一个人在一月二十五号到二月五号之间生病,我想按正常的价格支付七天,二月的费用自动支付五天。 单元格S28是付款出现的地方。

选项1 – 包括周末

我在D2使用了这个公式(和向下拖动):

 =SUMPRODUCT(--(MONTH(ROW(INDIRECT(A2&":"&B2)))=2) 

在这里输入图像说明

E2则简单:

 =(B2-A2+1)-D2 

选项2 – 排除周末

使用以下公式:

 =SUMPRODUCT((MONTH(ROW(INDIRECT(A2&":"&B2)))=2)*(WEEKDAY(ROW(INDIRECT(A2&":"&B2)),2)<=5)) 

 =NETWORKDAYS(A2,B2)-D2