Guidoはセルに負の時間を入力する必要があります。彼が正の時間(2:00)に入ると、Excelはそれを問題なく認識します。彼が-2:00と入力しようとすると、Excelは数式にエラーがあることを通知します。 Guidoは、セルに負の時間値を入力し、Excelにそれを時間値として認識させる最も簡単な方法について疑問に思っています。

質問に対するいくつかの可能な回答を提供する前に、Excelが日付と時刻を表示する方法を理解することをお勧めします。内部的には、日付と時刻は実際の番号に過ぎないシリアル番号として保存されます。セルB4に「2020年3月17日」のように日付を入力するとします(引用符は含みません。Excelは日付を入力していることを認識し、シリアル番号に変換します。ただし、シリアル番号かどうかはわかりません。 、Excelはシリアル番号で表される日付を表示するのに役立ちます。(図1を参照)

image

図1.Excelに日付を入力する

日付はセルに20年3月17日、数式バーに2020年3月17日と表示されることに注意してください(Excelで日付がどのように表示されるかは、入力方法と地域の設定によって異なります。 Windows。)セルに表示される日付(20年3月17日)は、セルの書式設定の結果です。日付をセルに入力したとき、セルの形式が以前は「一般」であったため、Excelで書式が変更されました。セルの中で最も良いと感じた日付を表示します。

数式バー(2020年3月17日)に表示される日付のため、これはtだと思うかもしれません。 Excelが日付を内部的に保存する方法。そうではありません。これは、隣接するセル(= B4)に数式を入力し、そのセルを「一般」としてフォーマットすることで確認できます。 (図2を参照)

image

図2.Excelが日付を保存する方法を確認する。

数式バーには数式(= B4)が表示されますが、セルには値43907が表示されます。セルB4の日付を一般的にフォーマットした場合も、同じ値が表示されます。これはシリアル番号です。これは、Excelが日付を内部的に保存する方法です。

しかし、シリアル番号はどういう意味ですか?基準日からの日数の「カウント」です。通常、この基準日は1900年1月1日で、その日は1日目です。1900年1月2日は、2日目というようになります。したがって、43907は1900年1月1日から始まる43、907日です。

ただし、ワークブックの基準日が異なる可能性があります。 Excelは、歴史的な目的で、2つの可能な基準日を理解します。もう1つは、1904年の日付システムと呼ばれます。 1904年1月1日からカウントを開始します。1900年の日付システムとは異なり、1904年の日付システムは0からカウントを開始します。したがって、1904年1月1日のシリアル番号は0、1904年1月2日のシリアル番号は1です。など

次の手順に従って、ワークブックで使用されている日付システムを確認できます。

。 [Excelのオプション]ダイアログボックスを表示します。 (Excel 2007では、[Office]ボタンをクリックし、[Excelオプション]をクリックします。Excel2010以降のバージョンでは、リボンの[ファイル]タブを表示し、[オプション]をクリックします。)

。ダイアログボックスの左側にある[詳細]をクリックします。

。 [このワークブックを計算するとき]セクションが表示されるまで下にスクロールします。

(図3を参照)

。 [1904日付システムを使用する]チェックボックスがオンになっているかどうかに注意してください。

。ダイアログボックスを閉じます。

手順4でチェックボックスがオンになっている場合、ブックは1904日付システムを使用します。選択されていない場合は、1900日付システムを使用しています。

これは、負の時間の入力に関するGuidoの最初の質問と何の関係がありますか?たっぷり、実際に。ご覧のとおり、Excelにとっての時間値は、1日の一部にすぎません。これまでに提供された例には、シリアル番号全体(この場合は43907)として格納されている日付が含まれていることに注意してください。

「3/17/206:00 pm」のように、時間付きの日付をセルに入力した場合

(ここでも引用符なしで、小数点の右側のシリアル番号の部分として内部に格納されます。(図4を参照)

image

図4 .Excelが日付と時刻をどのように保存するかを確認します。

シリアル番号(.75)で保存された小数部分は、入力した時間(6:00 pm)が1日を通して75%であることを意味します。 。時間(小数点部分)は、.0(12:00:00 am)から.999988426(11:59:59 pm)の範囲になります。

日付とを格納するこのスキームのためシリアル番号として内部的に回される場合、Excelの世界では「負の時間」のようなものはありません。

このような値を解析して保存する方法がないため、Excelは試行時にエラーメッセージを表示します。 「日付計算」を実行して、セルにすでに格納されている時刻値から時刻を減算できますが、実行しているのは、日付と時刻のシリアル番号を調整することだけです。たとえば、シリアル番号43907.75がセルに格納されていて、 s否定的な結果をもたらす「時間」をそこから抽出します。あなたがしたことは、前日に移動することだけです。 (図5を参照)

image

図5.日付と時刻からの減算。

セルB6に、日付を伴わない時刻が入力されていることに注意してください(10:00 pm)。これは、セルC6に示すように、「ゼロ日付」のシリアル番号としてExcelによって解析されました。そのシリアル番号から否定的な結果をもたらす時間を減算しようとすると、Excelは結果を時間として表示できません。 (図6を参照)

image

図6.時間で減算しすぎることはできません。

セルB9に表示されているハッシュマークの上にマウスポインタを置くと、「負の日付と時刻、または大きすぎる日付と時刻が##と表示されます」というエラーメッセージが表示されます。 (エラーメッセージの正確な表現は、Excelのバージョンによって異なる場合があります。)

他の方法でネガティブな時間に到達しようとしても、同じ結果が得られます。たとえば、セルに時間値を入力してから、別のセルで、数式を使用して時間を-1で乗算する場合です。

結果を時間としてフォーマットしようとすると、ハッシュマークが再び表示されます。 Excelは、プログラムに関する限り、負の時間を存在できないため、単に負の時間を表示できません。

では、Guidoは何をするのでしょうか?彼が実際にネガティブな時間で働く必要がある場合、すでに説明した理由のために彼ができることはほとんどありません。

(ただし、これについては後で詳しく説明します。)単に時間を減算したいだけの場合は、別の話になります。 Guidoが-02:00のようなものを入力しようとしているという事実は、彼が実際の「時刻」ではなく、イベント期間で作業していることを示しています。 (Excelは時計の時刻を処理して解析を行うことを忘れないでください。-02:00は時刻ではありません。-02:00に会うことを誰かに伝えることはできません。)

イベント期間を処理するには、Excelに計算を任せるだけです。たとえば、開始時刻をセルB4に配置し、Guidoがそれから減算したい時間数(2)をセルC4に配置できます。次に、セルD4で、数式を使用して結果を計算できます。

=B4 – (C4 / 24)

時間数を24で割ると、Excelがシリアル番号で内部的に使用する正しい10進値が得られます。もちろん、数式の結果が負のシリアル番号になる場合は、結果を時間としてフォーマットしようとするとハッシュマークが表示されます。これに対する唯一の解決策は、セルB4に格納されているものに日付が含まれていることを確認することです。セルB4をフォーマットして時刻のみを表示することはできますが、日付を含めると、結果がエラーになるのを防ぎます。この_ExcelTip_を見ると、負の経過時間の処理について詳しく知ることができます:

http://excelribbon.tips.net/T006239

結局のところ、実際の負の時間で作業できる1つの方法があります。前述のように、1904年の日付システムに切り替えます。

たとえば、1904年の日付システムを使用する場合の減算の結果を見てください。 (図7を参照)

image

図7。1904年の日付システムは負の時間を処理します。

このアプローチは、独自のシステム上の個々のワークブックには最適ですが、他のユーザーがワークブックを使用する場合はそれほど優れていない可能性があります。異なる日付システム(1900年と1904年)を使用するワークブックに依存する

あなた(または他の人)がブックからブックに情報をコピーするときに、潜在的な問題の原因となる可能性があります。この問題は別の_ExcelTip_で議論されました:

http://excelribbon.tips.net/T010942

1904年の日付システムを使用している場合、負の時間を入力すると問題が発生しますが、数式の結果は問題なく負の時間を表示できます。

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

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