- 締切済み
1904年から計算するチェックの自動解除
WindowsXPでExcel2003SP3を使っています。 時刻の計算をすることが多く、マイナスの時間も扱うため"1904年から 計算する"のチェックを入れています。 しかし、このチェックが勝手に外れてしまい困っています。 何のタイミングかわかりませんが、気が付くとマイナス時刻が ####表示になっています。何週間か振りにファイルを開くと そうなっているという時もあるし、ファイルを開いたまま、 他のシートを見て、元のシートに戻ったら、そうなった という時もあり、何が原因かわかりません。 対処法をご存知の方、お教え頂ければ幸いです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- chie65536
- ベストアンサー率41% (2512/6032)
http://pc.nikkeibp.co.jp/article/NPC/20070626/275901/ 「1904年から計算する」は、上記ページにある通り、マッキントッシュ版との互換の為だけにあり、マイナス時刻を扱う為の物ではありません。 しかも「1904年から計算する」を使用した場合、1900年と2100年の閏年の例外処理が行われない可能性があり「マッキントッシュ版で作ったデータを読み込む時」以外は使用しない方がよいでしょう。 実は、1900年と2100年の閏年の例外処理を無視すると、閏年は「1904~2096年の192年間は、必ず4年に1回」になるので、複雑な計算を省けます。 逆に言えば「1900年と2100年の閏年の例外処理がされないので、1900年以前、2100以降は、カレンダーが狂う」と言う事です。 なので、下手に使用すると、様々なバグの原因になります。 因みに「マイナスの時刻を扱う」のと「1904年から計算する」には、何の関連性もありません。 「1904年から計算する」が影響するのは「日付時刻のシリアル値から、年の表示に変換する時に、4年足すか足さないか」だけです。 そして「標準の書式では、日付のシリアル値が基準年(1900または1904)の1月0日の場合、年月日は表示しない」となっているだけです(正確に言うと「シリアル値が0以上1未満は、年月日を表示しない」というだけ) 「1904年から計算する」は、マイナス時刻が####表示になるのとは無関係です。 「1904年から計算する」の使用方法を間違ってますし、このチェックを付けると閏年計算がうまく働かない可能性があるので「1904年から計算する」の使用は今すぐ止めましょう。 以下、蛇足ですが「古いカレンダーICを搭載した、古いパソコン」は「どうせ、2100年まで使われる事は有り得ない」として設計され、年は1970~2097の範囲しか使えません。 これは、年を「0~127まで表せる7ビット」で扱い、1970年を「0」として、2097年を「127」とした為です。 こうすれば1900年や2100年を無視できるので、IC回路を単純化できます。 過去「2000年問題」と言うのがありましたが、今後は「2098年問題」や「2100年問題」なども起きる可能性があります。
補足
早速の御回答ありがとうございます。 このチェックの主旨はご指摘の通りだと思うのですが、 お教え頂きましたHPの2ページ目後半にもあります通り、 マイナスの時刻を扱う手っ取り早い方法でもあると思います。 (時間の引き算の部分を絶対値にして、文字列にしてマイナスを 付加する等の方法があるのかもしれませんが、その値を更に計算に 使用したいので、出来ればマイナスの時間として扱いたいのです) 時刻の計算が主で、日付の計算は行わないので、閏年につきましては、 特に支障はありません。 もし他の方法で、マイナスの時間を扱う方法があれば お教え頂けますでしょうか。 どうぞよろしくお願い致します。