31:30:00が1900/1/1 7:30:0
エクセルで時間を入力してるのですが
「21:30:00」と入力すると「21:30:00」のままなのですが
他のセルに「31:30:00」を入力すると表示は「31:30:00」になるのですが、
数式バーは「1900/1/1 7:30:00」になってしまいます。
このQ&Aに関連する最新のQ&A
- 回答者: m_and_dmp
- 回答日時: 2020/09/18 02:36
エクセルの日付は、1900年1月1日が起点です。
数値の1を表示形式「[h]:mm:ss」で表示すると、24:00:00(24時00分00秒)
「hh:mm:ss」で表示すると、00:00:00((00時00分00秒)
yyyy/mm/dd で表示すると、1900/01/01(1900年1月1日)
yyyy/mm/dd hh:mm:ss で表示すると 1900/01/01 00:00:00
時刻表示の 21:30:00 は、数値では、0.8958
時刻表示の 31:30:00 は、数値では、1.3125
です。
数値の1が1日(24時間)に相当します。正確に言うと、数値1の違いが1日(24時間)の違いに相当します。
数値で1以下は1900年1月1日以前なので、数式バーに1900/01/00 21:30:00 と表示しても良いのですが、日付に0日というのはありませんので変ですよね?そこで仕方なしに時刻の部分だけを表示するようにしたのでしょう。(エクセルを作った人は困ったと思います。)エクセルの仕様だ、と言えばそれまでですが、
- 回答者: gonbei3desuyo
- 回答日時: 2020/09/17 23:31
数式バーはセルの書式設定では表示の形式を変更できません。
- 回答者: MarcoRossiItaly
- 回答日時: 2020/09/17 22:46
>なぜ30時間を超えるとおかしくなるのでしょうか?
一言で言うと、それが Excel の仕様だからです。
セルに「23:59:59」と記入し、数式バーを見てみましょう。あれっ、おかしいな?「11:59:59 PM」と表示されている。私が書いたのと違うじゃないか。続いて別のセルに、「24:00:00」と記入。今度は数式バーに「1900/1/1 12:00:00 AM」となっている。
次に、今記入した 2 つのセルの書式を「標準」などに設定してみましょう。すると「0.999988426」と「1」になりますね?この状態で数式バーを見ると、「0.999988426」と「1」のまま。
さらに別のセルに、「0.5」と「1.5」を記入し、書式を「[h]:mm:ss」にしてみてください。そして数式バーを見ると…「12:00:00 PM」と「1900/1/1 12:00:00 PM」になりましたね?
最後に、さっき記入した「1」と表示されている箇所が A1 セルだとすれば、A2 に「7:30:00」、A3 に「=a1+a2」と記入しましょう。そして A3 をコピーして、別のセルに値複写してください。「1.3125」になりますね。そのセルの書式を「[h]:mm:ss」にすれば、セルの表示は「31:30:00」に、数式バーは「1900/1/1 7:30:00 AM」になります。
要するに「1900/1/1 7:30:00 AM」のうち「1900/1/1」が「1」に相当し、「7:30:00 AM」が「0.3125」に相当しているわけですね。