IF条件付きセル内の複数の数式

IF条件付きセル内の複数の数式

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 と表示され、これが目的のようです。

関連情報