曜日に基づいて前日を表示する POWER PIVOT 数式

曜日に基づいて前日を表示する POWER PIVOT 数式

2つの列があります

1列目 カレンダーの日付:

16/02/2015

2列目 前日:

Yes

現在使用している式:

if([calendar Date])=today-1,"YES","NO").

2 列目は 1 列目に基づいて値を返します。

しかし、カレンダーの日付 (金曜日の日) がある月曜日にデータを実行すると問題が発生します。数式は前日のデータのみを返すため、「NO」と表示されます。

だから私はこのようなものが欲しいのです。月曜日に実行するときだけ、if([calendar Date])=today-3,"YES","NO") が返されるはずです。そして他の平日は if([calendar Date])=today-1,"YES","NO") が返されるはずです。

これについて助けていただけませんか。

答え1

金曜日と土曜日を強制的に日曜日 (月曜日の前日) として解釈します。

=IF(
   IF(WEEKDAY(A2) = 6,   <-- Friday
     A2 + 2,             <-- Becomes Sunday
     IF(WEEKDAY(A2) = 7, <-- Saturday
       A2 + 1,           <-- Becomes Sunday
       A2                <-- Unadjusted
     )
   ) = TODAY() - 1,
   "YES",
   "NO"
 )

この数式は、たとえば土曜日にレポートを読む場合には機能しません。数式に関する限り、土曜日には昨日が 0 個、明日が 2 個あるからです。

コメントなし: =IF( IF(WEEKDAY(A2)= 6, A2 + 2, IF(WEEKDAY(A2) = 7, A2 + 1, A2)) = TODAY() - 1, "YES", "NO")

答え2

使用勤務日の機能ですif

勤務日日付を返す開始日そして就業日数引数として(週末をスキップします)。あなたの場合は、[Calendar Date]を次のように取る必要があります。開始日、 そして就業日数1 に設定します。これらの引数を使用した WORKDAY の結果が今日の日付と等しいかどうかを確認し、セルを「YES」に設定します。

さらに、休日の日付を WORKDAY 関数に渡して、休日も非営業日として計算することもできます。

セルに次のような内容を入力します。

=IF(WORKDAY([Calendar Date];1)=TODAY();"YES";"NO")

関連情報