1 つのセルに複数の数式を挿入する方法を考えています。計算は日付と時刻に関係します。
以下は私の質問です。
A1 = 日付、B1 = 時間(軍事)の場合そしてC1 = 日付、D1 = 時間 (軍事)、時間の差を時間単位で取得するには、F1 で以下の数式を使用します。
=((C1+D1)-(A1+B1))*24
私がする必要があるのは、F1 で A1 と B1 に値がないかどうかを判断し、=now()
関数を使用して数式を完成させることです。つまり、次の数式を実行する必要があります。
=(now()-(A1+B1))*24
あるいはこれに類する何か。
私は Excel 初心者ですが、時間測定レポートを作成するためにこれが必要です。
答え1
最初の質問は、正確にはどのような条件をテストしたいのかということです。
OR(ISBLANK(C1), ISBLANK(D1))
または
OR(C1="", D1="")
これらはほぼ同じ意味です。つまり、またはC1
のいずれかD1
が空白であるということです。他の可能性としては、
AND(ISBLANK(C1), ISBLANK(D1))
または
AND(C1="", D1="")
ISBLANK(C1)
または
C1=""
D1
空白はとして扱われることを期待します00:00
。(C1+D1)=0
これは とほぼ同等です
AND(C1="", D1="")
。
条件を選択したら、IF
関数はかなり簡単です。「ブルートフォース」ソリューションは次のようになります。
=IF(OR(C1="",D1=""), (NOW()-(A1+B1))*24, ((C1+D1)-(A1+B1))*24)
ただし、共通部分を外部に移動することは可能です。
=(IF(OR(C1="",D1=""), NOW(), C1+D1) - (A1+B1)) *24
答え2
Excel は、日付と時刻を必要なとおりに保存する機能を備えています。24 倍するなどする必要はありません。format
セルを日付または時刻として保存すると、自動的に時間と分として表示されます (1.0 = 24 時間、0.5 = 12 時間など)。
しかし、あなたが探している式は次のようになると思います:
=IF((A1+B1)>0,now()-A1+B1,0)
この数式は、A1 と B1 の合計が 0 より大きいかどうかをテストし、数式を返します。そうでない場合は、0 を返します。セルを時間を表示するように書式設定した場合、この 0 は 00:00 と表示され、これが目的のようです。