大きな時間値の入力(Microsoft Excel)
セルを経過時間でフォーマットする場合([h]:mm:ssのカスタム表示フォーマットを使用)、Excelではそのセルに時間、分、秒を入力できます。たとえば、129:14:30と入力するだけで、129時間、14分、30秒を表すことができます。ただし、セルに非常に大きな時間値を入力しようとすると、問題が発生します。 12721:52:45のように、10,000時間を超える時間値を入力しようとすると、Excelはエントリを時間として解析せず、テキストとして扱います。
興味深いのは、セルが[h]:mm:ssを使用して経過時間でフォーマットされている場合、セルは10,000時間を超える経過時間を簡単に表示できることです。したがって、セルの範囲を合計して10,000時間を超える値にすることはできますが、それより大きな値を入力することはできません。
残念ながら、Excelではこれを回避する方法がないようです。ただし、最善の解決策は、データの入力方法を再考することかもしれません。結局のところ、10,000時間は416日と16時間に相当し、1年以上になります。
日を入力するための列を簡単に作成し、別の日を部分的に使用することができます。次に、3番目の列は数式を使用して、他の2つの列に基づいて経過時間を返すことができます。
もう1つの解決策は、入力の解析をExcelに依存しないことです。入力する時間が非常に長い場合(32,315など)、セルに次のように入力できます。
=32315/24
Excelは、数式として入力した内容を維持しますが、適切な時間、分、秒の数を表示します。より正確に知りたい場合は、時間で表される1時間の部分を表す端数を入力できます。たとえば、37分15秒は0.620833時間です。したがって、次のように時間を入力できます。
=32315.620833/24
もちろん、この方法で時間を入力することは、特に分と秒で表される時間の小数部分を計算する場合、面倒になる可能性があります。これを克服するために、時間、分、秒を入力し、経過時間形式を使用して簡単にフォーマットできる値を返すカスタム関数を作成できます。
次の関数がトリックを実行します:
Public Function ReallyBigTime(hr As Double, _ min As Double, sec As Double) As Double Dim hr1 As Double Dim min1 As Double Dim sec1 As Double hr1 = hr / 24 min1 = min / 24 / 60 sec1 = sec / 24 / 60 / 60 RealBigTime = hr1 + min1 + sec1 End Function
関数を作成した後、セルに= RealBigTime(32341,30,45)のようなものを入力します。結果は、32341:30:45までの経過時間形式でフォーマットできる値です。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(10594)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link大きな時間値の入力。