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")