2016-09-04 12 views
1

時間を表す桁のExcelシートがあります。私は、次のことを確認するために、各セルに次のif文を挿入する必要があります:Excel:3条件をチェックするネストされたIFステートメント

  1. 値未満24時間
  2. 48時間
  3. よりも大きい値の値を超える24時間未満48時間

2つのケースを正常にクエリできます。 24時間未満および48時間超である。ただし、入れ子になったIFステートメントは、値が24時間以上48時間未満の条件についてはフェッチできません。チェックする

IF(Q14<=TIME(23,59,59)+TIME(0,0,1), "24", IF(AND(Q14>TIME(23,59,59)+TIME(0,0,1), Q14<TIME(47,59,59)+TIME(0,0,1)),"48", IF(Q14>TIME(48,59,59)+TIME(0,0,1), "96", "Poor "))) 
+0

Q14のセルのフォーマットは何ですか?それは 'hh:mm:ss'のように' Number'か 'Time'ですか?このセルの内部に入力された値(変換前)は何ですか? –

+0

この値は、[h]:mm:ssという形式のStartTime - EndTimeの計算値です。私の値は44:54:41、68:08:44などです。入れ子のif文は "24時間"と "96時間"では動作しますが、 "48時間"では動作しません – Sarah

答えて

2

使用 'HOUR' 関数を助けてください:

IF(HOUR(Q14) < 24, "under 24", IF(HOUR(Q14) < 48, "24 - 48", "over 48")) 

エクセルIF()関数の中で、あなたはこのように書いた場合:

IF(HOUR(Q14) < 24, "under 24", ...second case...) 

を後者の場合には、それは事実ですHOUR(Q14)> = 24ですので、HOUR(Q14)> = 24を再度確認する必要はありません。

更新

ため、Excelで、あなたの入力後> 24.入力時間をすることはできません、あなたマイナスEndTime-StartTimeは、セルの実際の値は、実際にその日の数である場合。したがって、セルの値に24を掛けて、式を使用して合計時間を取得することができます。

IF(24 * Q14 < 24, "under 24", IF(24 * Q14 < 48, "under 48", "over 48")) 

これは簡単です。ハッピーコーディング!

+0

変更された2番目のケースのチェックを削除しましたIF(Q13 <= TIME(23,59,59)+ TIME(0,0,1)、 "24"、IF(Q13 TIME(48,59,59)+ TIME(0,0,1)、 "96"、 "Poor"))))のようになりますが、2番目のケースはスキップされます – Sarah

+0

TIME 、59、59)+ TIME(0、0、1)は10:00 PMを返します。したがって、Excelでは> 24:00:00の時間を入力することはできません。 –

+0

さて、私の質問に戻って私は私が24,48などのように持っている時の値に基づいて照会したいので、上記の質問に基づいてどのようにクエリを行うのですか? – Sarah

関連する問題