、あなたは(例えば)のようにコーディングすることができVBAで
=IF(OR(WEEKDAY(A4,2)>5,AND(WEEKDAY(A4,2)=5,B4>17/24),AND(WEEKDAY(A4,2)=1,B4<8.5/24)),"Flag","")
を、使用することができますB列には時間が含まれていますが、日付がとの場合は、
(例えば)のようにコーディングすることができVBAで
=IF(OR(WEEKDAY(B4,2)>5,AND(WEEKDAY(B4,2)=5,MOD(B4,1)>17/24),AND(WEEKDAY(B4,2)=1,MOD(B4,1)<8.5/24)),"Flag","")
、:
Range("C4").Formula = "=IF(OR(WEEKDAY(B4,2)>5,AND(WEEKDAY(B4,2)=5,MOD(B4,1)>17/24),AND(WEEKDAY(B4,2)=1,MOD(B4,1)<8.5/24)),""Flag"","""")
私はあなたがすることを意図だと思うものに、あなたのオリジナルの式の修正は、あなた(のためのVBAコードを与えるだろうインスタンス):
:
Range("C4").Formula = "=IF(TEXT(A4,""ddd"")=""Fri"",IF(TEXT(B4-INT(B4),""hh:mm:ss"")>=TEXT(TIME(17,0,0),""hh:mm:ss""),""flag"","" ""),IF(TEXT(A4,""ddd"")=""Sat"",""flag"",IF(TEXT(A4,""ddd"")=""Sun"",""flag"",IF(TEXT(A4,""ddd"")=""Mon"",IF(TEXT(B4-INT(B4),""hh:mm:ss"")<=TEXT(TIME(8,30,0),""hh:mm:ss""),""Flag"","""")))))"
例えば、容易に簡略化することができ、その内のいくつかのものがありますが、
TEXT(TIME(17,0,0),""hh:mm:ss"")
がより簡単に(それが固定の結果を持っているとしている一定の時間です)"17:00:00"
のように書くことができ、かつ
TEXT(B4-INT(B4),""hh:mm:ss"")
がTEXT(B4, ""hh:mm:ss"")
に簡素化することができた(時刻文字列は、あなたがそれを計算しても同じになるだろう特定の日に、または1900年1月1日にそれを計算するかどうか)。
不適切な二重引用符(つまり、 '' ''の代わりに '' '' '' '')ではなく、式にも 'TEXT(TIME17,0,0) :mm:ss ")'と 'TIME(" 8,30,0 ")'にあります。使用している実際の式は何ですか? – YowE3K