• ベストアンサー

ExcelのTODAY関数についての疑問

ExcelのTODAY関数を設定した時に、なぜか??翌日に日付が変わらず、 前日のままになっている事があります。 基本こういった時は、【ツール】【オプション】【計算方法】の中の 【手動】にチェックが入っているのを、【自動】へ変更して直しているのですが、 根本的な解決にはなりません。 いったいどういった事で、このような現象が起きるのか? 何か他に未然防止する方法は無いのか? どなたか教えて頂けないでしょうか? 宜しく御願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 #2の回答者です。 >いったいどういった事で、このような現象が起きるのか? #3 の方が、揮発性関数に触れていたので、私のほうからも書いておくと、まず、TODAY()関数というのは、システムから日付情報取り出して、それをExcelに表示しているものです。そのためには、「値を取得せよ(Calculate)」という命令が必要なのです。その命令のことを、"Calculate Event(カリキュレート・イベント)"と呼んでいます。通常、ブックを開いたときや、他の値を変更したときには、このイベントが走ります。 --------------------------------------------------------- ・手動で、開いているブックに、イベントを走らせる場合は、「F9」、 ・開いているすべての数式を計算させる場合は、「Ctrl + Alt + F9 」を押します。(*大きなブックでは注意が必要です) --------------------------------------------------------- これは、いろんな関数があるので、直接、参照で依存関係(Direct Dependence)関わっているところだけ、値を取るように設計されています。しかし、TODAY()関数は、Excelの他のセル等とは直接関わっているのではないので、「値を取得しなさい」という命令がないと、値をとっていません。 これは、いくらメモリやCPUが大きくなっても、画面の切り替わりなど物理的な変化も含まれますので、関数が、一斉に値を取得し始めたら、機能的にパンクしてしまいます。(これは、Microsoft社の表計算の設計のコンセプトだと思います。) 言い換えると、「値を取得せよ(Calculate)」という命令がないと動かない関数のことを「揮発性関数(Volatile Formula)」と呼んでいます。蒸発するわけではないし、実際には、確保された値は、ブック内に封じ込められているのですが。 #2で書いたのは、上記のショートカットとは違って、その数式のみを計算させる特殊な命令です。 (ここに、出てくる英語は、主に、VBAで出てくる関係の用語です) 参考文献: [XL]変更していないブックを閉じる際保存するか尋ねられる場合

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;402644

その他の回答 (3)

  • kawajisan
  • ベストアンサー率30% (53/171)
回答No.3

揮発性関数を調べる。 例: Excel(エクセル)基本講座:Excelの用語解説(か行) http://www.eurus.dti.ne.jp/~yoneyama/Excel/dic/dic02a.html 注:既定の「自動計算」なら関数がはたらく。「手動計算」ならうごかん。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 今、回答を書いていて、途中で気がついたのですが、 >【ツール】【オプション】【計算方法】の中の >【手動】にチェックが入っているのを、【自動】へ変更 ということは、通常は「自動」にしていないということでしょうか? もし、そうなら、矛盾してしまっています。片方で、値を変更するな、と命令しておいて、値の変更をしないという問題を提示しているわけですからね。 もし、そのままですと、その解決方法としては、マクロによる処理ということになるかと思います。毎回、ワークブックを開けるたびに数式の値の取り直しです。 これはサンプルです。 標準モジュール(VBE-挿入-標準モジュール)に貼り付けてください。 ただし、セキュリティ設定は、「中」以下です。 '標準モジュール 'たとえば、Sheet1 のF1 に、TODAY()関数がある場合 Sub Auto_Open()   Worksheets("Sheet1").Range("F1").Calculate End Sub

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>なぜか??翌日に日付が変わらず、前日のままになっている事があります。 システムの日付は翌日に変更されているわけですよね? 或いは新規でブックを作成(TODAY関数使用)して、双方の変化を見比べるとか?

関連するQ&A

  • TODAY関数に関して

    エクセル2010です。 あるファイルの日付項目を この関数を使って使用しようとおもいましたが 営業日は 日にちをまたがいで前日日表示をしたいので =TODAY()-1 のように前日の日付を表示しようしたくおもったのですが  このTODAY関数はファイルを開くと 認識するかんじなのでしょうか? たちあげっぱなしで書き直して 上書き保存では 認識されないのでしょうか? また 前日の日付を ファイルを開いたま 表示させる 便利な方法はないでしょうか?

  • エクセルのTODAY関数について

    今日の日付をエクセル文書に入れる場合、 TODAY関数を用いてTODAY()と入力しますが、 明日の日付を入れたい場合どうすればいいでしょうか? 毎日、翌日のスケジュールを表にして作成している為、 日付を翌日にしたいのですが、どうか教えてください。

  • excelのtoday関数について

    excelの関数について 今日の日付+1、今日の日付+2、今日の日付+3を 自動で入力したいのですが 例えば Today()+1 Today()+2 Today()+3 と入力した後、コピーしますが、 Today()+1 Today()+2 Today()+3 Today()+1 Today()+2 Today()+3 と、+4以降は反映されません。 何か良い方法ないでしょうか。

  • エクセルで 関数 TODAYではないものを探しています。

    エクセルで、業務日報を作っています。 F1のセルに、その日の「日付」が入力されるようにしたいのですが、どうすれば良いでしょうか…。 TODAYのように自動で入ってくれるのが理想です。 始め、TODAYで表示されたので、大喜びしていたのですが、次の日開けると、他のsheetも、全部本日になっていました(ToT)/~~~ ※翌日そのファイルを開いた際には、  前日の日報の日付は「そのままの状態(前日の日付のまま)」になっているようにしたいのです… 状態は、1月分が1つのファイルにあって、31枚 31日分sheetがあります。 次の日は、隣のsheetの移って入力という形です。 関数かVBAのようなものでするのかと思うのですが、過去の質問を調べ、真似をしてみたのですが、私には出来ませんでした(>_<)もう2時間位調べてます…。 ちなみにVBAとかは出来ないのですが…。 もしも、もしも、ご親切な方<(_ _)> これを、ここに貼り付けて、という具合に教えていただけたら助かります。 初心者ですいません....(*_*;

  • エクセルの関数でどうしても解らないことがあります。

    エクセルの関数でどうしても解らないことがあります。 例えば   A   B   C  D  E 1 2 3 4 5 このセルでA列に文字を入力した時、E列にその入力した日を表示させる関数で困っています。今は=+IF(A1="","",TODAY())をE1に入力しているのですが、翌日になると1日プラスされた日付に変更されています。 ツールの計算方法を自動にしているのですが、同じシート内に他の計算式を入力しているので手動に変更できません。翌日になっても日付が変更されない方法は無いでしょうか?詳しい方宜しく願います。

  • Excel Today()関数の固定化

    書類にToday()関数で日にちを表示させると、翌日には日にちが変わります。 それを関数で入れた日にちに固定したいのです。 他のセルに値でcopyするとExcelルールの数値になります。 例えば、Today()とすると今日は11/2/2017ですので、当然11/2/2017と表示されます。 明日になると11/3/2017と変わります。 それを11/2/2017のままにしたいのです。 Today()で表示した日にち11/2/2017を値でcopyすると43041と表示されます。 43041を日付に戻せれば、多分この問題は解決すると思います。 宜しくご教授ください。

  • TODAY関数について

    エクセルファイルを 24時間ずっと開きっぱなしの状態で ファイル内にTODAY関数があると 0:00の日付が変わったタイミングで 日数が変わりますか? それとも一度ファイルを閉じてから 開かないとTODAY関数は機能しないので しょうか? その場合0:00になったら TODAY関数を自動更新させる 方法はありますか? (マクロでも可) すいませんが回答よろしくお願いします

  • EXCELのTODAY関数の使い方について

    TODAY関数を使って請求書を作っています。その日の日付けが入るので 便利なのですが、ファイルを保存し、再度別の日に開くと開いた日の日付けになってしまい、そのファイルがいつの日に作成したかわからなくなります。現在はプリントしていたものを見て確認していますが、良い方法があったら教えて下さい。

  • Today関数について

    Excel2007を使用して見積書と請求書を作成しております。 日付にToday関数を設定して保存するのですが後日保存したファイルを開くと保存した日付でなく今日の日付をなってしまします。 保存した日付として固定したいのですが良い方法はないでしょうか。 よろしくお願いします。

  • エクセルで、関数TODAYを入力した時について。

    またまた質問です。 こんな事出来ないと諦めていましたが、先程のシートのコピーで皆様のお知恵を借り、元気になりました。 たぶん、皆様のお力でこの問題も解決できる事と思います。 で、質問は同じシートを100枚作成し、そのA1のセル全てに関数TODAYを入力します。 シートは毎日順次使用します。 この時、一度開いたシートの日付を、開いた日に自動的に固定する方法はありますか? それとも、やっぱり関数使わなくて、自分でその都度日付を入力しないといけないのでしょうか?

専門家に質問してみよう