さて、これが私の現在のコードのサンプルです。私はこれをいくつかのセルに持っています。B-H7は検索している不在タイプを反映しています。
=COUNTIFS('Old Data'!$A:$A,Tracking!A8,'Old Data'!$B:$B,$E$7, 'Old Data'!D:D, ">"&$B$5, 'Old Data'!D:D, "<"&$C$5)
このコードが実行しているのは、データシートに従業員名が記載されているスプレッドシートをループし、欠勤タイプを比較してそれぞれの列に並べ替えてカウントすることです。コードの最後のビットは、日付範囲間の検索を制限します。
そうは言っても、これに条件を追加する必要があります。これは、VBAに取り込まないとできないかどうかわかりません。列DIの「古いデータ」シートには開始時刻があり、MM / DD / YY HH:MM形式で表示されます。列EIには、同じMM / DD / YY HH:MM形式で表示される終了時刻があります。
私はする方法が必要です
A.)プログラムに、これらの日付の間の日数と、それぞれの日のカウントの+1をカウントさせます。
B.)開始日と終了日が同じ場合は、プログラムに時間数を比較させます。4未満の場合は、カウンターに.5を追加するだけです。
私の最初の考えは、countifsの数式をスクラッチし、ループしてVBAを使用して解析することですが、組み込み関数の能力はかなり驚くべきものであるため、数式だけで実行できるかどうかを最初に確認したいと思いました。これまでのところ私には。
これを数式からVBA関数に変換してセルで呼び出す必要があると思いますが、完全にはわかりません。VBA/Excelのシーンではかなり新しいものです。
また、私はExcel2007を使用しています。
この問題に関するご意見ありがとうございます。