
次の入力があるワークシートがあります:
0900-1800
0900-1800
DAYOFF
0900-1800
0900-1800
私の質問は、時間のみの範囲だけをカウントするにはどうすればよいかということです。たとえば、上記のデータには数字付きの日数が 4 日しかないため、カウントは 4 になるはずです。
答え1
2番目の列を次の形式で追加することができます。
=IF(ISNUMBER(VALUE(LEFT(A1,1))),1,0)
これは、セルの最初の文字A1
が数字であるかどうかを判断します。この例では、就業日に対応します。就業日は1
新しい列で で表され、他の日は で表されます0
。この数式では、就業日が であると想定していることに注意してください。いつもフィールドは数字で始めてください。空き日は決して数字で始めないでください。
この新しい列を合計して、就業日数の合計を取得できます。
オプション2
コメントで述べたように、COUNTIF
一時的な列を必要とせずに、原理的には特定の特性を持つセルをカウントできる関数を使用することもできます。問題は、私の知る限り、個々の数式の柔軟性を完全に使用できないため、数字で始まるセルを明示的にチェックするバージョンを思い付くことができないことです。ただし、あなたの例に有効な解決策を見つけました:
=COUNTIF(A1:A7;"<A")
space
これは、最初の文字の ASCII コードが文字「A」よりも小さいセルをカウントする (と私は思います)。これには、文字以外の文字 (特に! )が多数含まれることに注意してください。
オプション3配列数式の使用を含み、MrExcel.com の今日のヒント:
=SUM((A1:A5>="0")*(A1:A5<="9")*1)
これは次のように入力する必要があります配列数式つまり、Ctrl+Shift+Enter
Enter キーだけではなく を押します。この解決策は、私が最初に示したものと同じですが、余分な列を回避します。追加の列には、各日が正しく分類されているかどうかを手動で個別に確認できるという利点が依然としてあることに注意してください。