2016-12-21 28 views
0

私は、発行日時と完了日時の間の1日の異なる時間ブロックのデータを収集するとしているレポートを持っています。例えばIssueDateTime = 12/19/2016 10:00 AMとCompletedDateTime = 12/19/2016 3:00 PM式が10:00 AM、11:00 AM、12:00 PM、1:00 PMに返されると期待します。 、午後2時、午後3時。これが可能なのかどうかは分かりませんが、どんな洞察も高く評価されます。あなた例えば、式リターンを2つの日付時刻の間に1日の時間を見つける方法ExcelまたはMSアクセス

=TEXT(ROW(INDIRECT(HOUR(IssueDateTime) & ":" & HOUR(CompletedDateTime)))/24,"hh:mm AM/PM") 

+0

あなたは時間や時差を期待していますか?私は、これがあなたが必要とするものだと思います。時間は(時(分)(C2)、分(C2)、秒(C2))です。これを参照してください - http://excelsemipro.com/2012/10/extract-time-from-a-date-time-number-in-excel/ –

+0

私はこの例では両方の違いがあるので、この例では5時間です完成した日付の時間に達するまで、お互いから1時間の間隔が必要です – user3667159

+0

リンクのおかげで感謝しています。私は何を探しているのですか? – user3667159

答えて

0

は、VBA/Accessで同じことを行う方法です:

cdate(DatePart("h",Now())& ":00") 

これは、ここで現在の時刻(13:12)のための1時00分00秒PMを返します

わずか1時間自体を取得するには、使用:

DatePart("h",Now()) 

ここでは、すべての時間を返す単純な関数であります2つの異なる時間の間のブロック:ここ

Public Function ShowHourBlocks(StartTime As Date, EndTime As Date) As String 

    Dim StartBlock As Date 
    Dim EndBlock As Date 
    Dim Answer As String 

    StartBlock = CDate(DatePart("h", StartTime) & ":00") 
    EndBlock = CDate(DatePart("h", EndTime) & ":00") 

    Do While StartBlock <= EndBlock 

     Answer = Answer + Format(StartBlock, "h:mm AMPM") & " " 
     StartBlock = DateAdd("h", 1, StartBlock) 

    Loop 


    ShowHourBlocks = Answer 

End Function 

はあなたが即時ウィンドウでそれを実行したときに返すものです:

?ShowHourBlocks(now(), DateAdd("h",4,Now())) 
1:00 PM 2:00 PM 3:00 PM 4:00 PM 5:00 PM 
+0

このソリューションは、2つではなく1つの日付時刻フィールドを使用している場合にのみ有効です – user3667159

+0

日付時刻はどういう意味ですか?私は例のように(start time = now()とend time = now + 5 hours)、カンマで関数を呼び出すときに角かっこの間に開始時刻と終了時刻を入れます。 – Velid

+0

これはNow関数で動作しますが、実際の日付時刻フィールドを追加すると問題があります。これを助けることができますか? – user3667159

0

この式は、時間の配列を返します

{"10:00 AM";"11:00 AM";"12:00 PM";"01:00 PM";"02:00 PM";"03:00 PM"} 

が、単一のセルに入力されたとき、あなただけの最初に表示されます素子。

配列として数式を入力するか、INDEX関数を使用して、完全な結果を表示することができます。

Excelでの配列に慣れていない場合、私はExcelのとMSDNのヘルプトピックを読んで示唆し、またChip Pearsons Introduction to Array Formulas

を参照してくださいここでは一例です。配列数式にB4:B17と入力し、条件付き書式を使用して#N/Aの結果を空白にします。ここで

enter image description here

+0

この数式をArrayとして使ってみましたが、通常の数式を使ってみましたが、#Value!エラーが発生しています。これはなぜ起こったのでしょうか? – user3667159

+0

@ user3667159あなたが何をしているのかを明示していないので、明らかに何か予期しないことをやっていることは明らかですが、あなたの質問はこのフォーマットで答えるには広すぎます。 –

関連する問題