ウィリアムは列Aに時間のリストを持っています。彼は、午前8時30分から午前9時の間など、時間範囲内にある時間の数を見つける方法を必要としています。彼はCOUNTIFと他のいくつかの関数を使用しようとしましたが、数式を正しく機能させることができませんでした。

COUNTIF関数を使用するなど、実際には、目的の範囲内で時間をカウントする方法がいくつかあります。実際、COUNTIFを使用して数式を作成する方法は2つあります。

=COUNTIF(A1:A100,">="&TIME(8,30,0))-COUNTIF(A1:A100,">"&TIME(9,0,0))

=COUNTIF(A1:A100,">=08:30")-COUNTIF(A1:A100,">09:00")

どちらでも問題なく動作します。範囲の開始時間と終了時間の指定方法のみが異なります。式の鍵は、範囲の最初の境界よりも大きい時間のカウントを取得し、それから上限よりも大きい時間を減算することです。

代わりにCOUNTIFS関数を使用して、数式を短縮できます。

=COUNTIFS(A1:A100,">=8:30",A1:A100,"<=9:00")

次のように、SUMPRODUCT関数を使用して目的の結果を取得することもできます。

=SUMPRODUCT((A1:A100>=8.5/24) * (A1:A100<=9/24))

このアプローチは、A1:A100の範囲の値に時間値のみが含まれている場合にのみ機能します。セルにも日付が保存されている場合は、Excelが内部で日付を保存する方法が原因で、機能しない可能性があります。範囲に日付が含まれている場合は、それを考慮して数式を変更する必要があります。

=SUMPRODUCT((ROUND(MOD(A1:A100,1),10)>=8.5/24) * (ROUND(MOD(A1:A100,1),10)<=9/24))

最後に、数式を完全にスキップして、Excelのフィルタリング機能を使用できます。カスタムフィルターを適用すると、必要な範囲内の時間のみを指定できます。これらが表示され、結果を簡単に数えることができます。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12398)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:

link:/ excel-Counting_Times_within_a_Range [範囲内の時間をカウントする]