Excel公式计算工资日(第15日和EOM)

我正在寻找一个Excel的公式来计算,如果一个date是一个发薪日,如果工资日是第15和EOM。 当然如果考虑到第15周或者EOM周末的话,那么逻辑就意味着你在星期五之前得到了报酬。 还考虑银行假期的时间表。

到目前为止,我已经想出了:
=IF(DAY('Date')=15, 'Y',IF('Date'='EOM(date)', 'N',''))

我正在计算'EOM(date)'使用
=WORKDAY(WORKDAY(EOMONTH('Date',0),1),-1)

所需的最终数据样本集:

  Date | Paycheck 10/15/2013 | Y 10/14/2013 | N 

首先你需要的是所有你的银行假期/公众假期的列表,并命名范围假期。 那么这应该工作:

 =IF(DAY(A1)=15,"Y",IF(A1=WORKDAY(DATE(YEAR(A1),MONTH(A1)+1,1),-1,holidays),"Y","N")) 

A1是第一个看到的date。

用A2中的date试试这个公式

=IF(OR(A2=WORKDAY(EOMONTH(A2,{-1,0})+{16,1},-1,holidays)),"Y","N")

假期是包含假期date的命名范围

公式find当前月份的第16位和下一位的第一位(基于A2date),然后find紧接在这些date之前的工作日(如果这些date是工作日,则为15日和月底)如果没有工作日)。 如果A2是这些date之一,你会得到“Y”