ウィリアムは列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")

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

次のように、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トレーニングのソースです。

このヒント(12397)は、Microsoft Excel 97、2000、2002、および2003に適用されます。

Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります: