考え方を忘れないように残しておきます。
For example, if an Achievement Date falls within 1st April - 30th June, then the Payment Date returned is the 5th of August; if it falls within 1st July - 30th September, then the Payment Date is 5th November; if it falls within 1st October - 31st December, Payment Date is 5th Feb; and if it falls within 1st Jan - 31st March, then Payment date is 5th May.
たとえば、達成日が4月1日から6月30日までの場合、返される支払い日は8月5日です。 7月1日から9月30日までの場合、支払い日は11月5日です。 10月1日から12月31日までの場合、支払い日は2月5日です。 1月1日から3月31日までの場合、支払い日は5月5日です。
元の日付から年だけをうまく使って式をつくります。
IF( AND(fHCM2__Achievement_Date__c >= DATE(YEAR(fHCM2__Achievement_Date__c),1,1) ,fHCM2__Achievement_Date__c <= DATE(YEAR(fHCM2__Achievement_Date__c),3,30) ),DATE(YEAR(TODAY()),5,5),
IF( AND(fHCM2__Achievement_Date__c >= DATE(YEAR(fHCM2__Achievement_Date__c),4,1) ,fHCM2__Achievement_Date__c <= DATE(YEAR(fHCM2__Achievement_Date__c),6,30) ),DATE(YEAR(fHCM2__Achievement_Date__c),8,5),
IF( AND(fHCM2__Achievement_Date__c >= DATE(YEAR(fHCM2__Achievement_Date__c),7,1) ,fHCM2__Achievement_Date__c <= DATE(YEAR(fHCM2__Achievement_Date__c),9,30) ),DATE(YEAR(fHCM2__Achievement_Date__c),11,5),
IF( AND(fHCM2__Achievement_Date__c >= DATE(YEAR(fHCM2__Achievement_Date__c),10,1) ,fHCM2__Achievement_Date__c <= DATE(YEAR(fHCM2__Achievement_Date__c),12,31) ),DATE(YEAR(fHCM2__Achievement_Date__c) + 1,2,5),
NULL))))
Date Formula that returns a date based on a business qrt
今日の日付に基づいて四半期の開始日を計算するための数式
前日17時~当日17時までに登録した活動レポートを当日17時にメールで配信したい。
DATETIMEVALUEで生成した時間がGMTなので、日本時間に調整するところがポイント
AND(
CreatedDate >= DATETIMEVALUE(TEXT(TODAY()-1) & " 17:00:00") -9/24,
CreatedDate < DATETIMEVALUE(TEXT(TODAY() ) & " 17:00:00") -9/24
)