• ベストアンサー

時間計算の関数(csng)

 時間計算を数字に置き換えて演算処理をする関数で  csng、cdataという関数があると聞きましたが、引数 はどのように設定するのですか。  また、昼の12時と夜中の12時はどのような値を持つ のですか。  時間計算で困っています、どなたかわかる方是非宜し くお願いします。  もっと他に使いやすい関数があれば教えてください。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>があると聞きましたが 両方ともあります。 >時間計算を数字に置き換えて CDateはそれだと思いますが、CSngは必ずしも、時間計算のものに限らないと思います。 >引数はどのように設定するのですか。 他と同じく()内に入力(指定)します。 個数は1つ。 CDateは数、CSngは任意の数式か文字列式となってます。 CDateの引数は日付シリアル値である範囲の数値である必要があります。 0を超えて(マイナス値はダメ)ない数はダメ。大きいほうは、制約が 今わかりませんが、360万までは大丈夫でした。(9839/12/6)西暦9900年までかも知れない) 時刻値は24時間を1としますので、0時が0.024時が1.0になりますので 昼の12時はその日の日付シリアル値+0.5です。 >時間計算で困っています X日後は日付シリアル値+xで、両日の日数差は2つの日付シリアル値の引き算で、求められます。 後はFormat等の書式に任せればよい。1989/1/5の10日後は 昭和64年1月5日 平成1年1月15日 となりますが、表示形式のありがたさのおかげです。 数値的には32513 に10を足して32523としてくれたに過ぎません。 時刻についても、おなじです。ただし時間部分(小数点以下)の和が24時間を 超えると1日に繰り上がります。 >もっと他に使いやすい関数があれば教 日付シリアル値というのは、実に知恵の働いた概念だと思います。一般的には使いやすいもののはずです。 もっと使いやすいというのは、この点について知らないか食わず嫌いではないですか。特殊なケースでもっと便利な考え方があるかもしれませんが、どんな問題か質問には書いてない。 時刻も同じです。 時間計算で合計が日に繰り上がるのが都合が悪いとかの質問は、エクセルで表示形式を[h]:mmなどにすべきの問題として、たまに出てきます。それと同類かな。 何か上記のような回答は質問者の本質問に役立たない気がする。 エクセルの例ですが http://asugi23.web.infoseek.co.jp/excel/soft36.htm#日付・時刻の計算 の(時刻値を使わず)「時刻を数値で計算する」あたりのややこしさにぶちあたっているのかな。 困っている時間計算の問題を具体的にずばり書いてください。

その他の回答 (2)

noname#79209
noname#79209
回答No.3

シリアル値での時分秒の部分は小数点以下の部分で設定されていますので、時間計算を行うときに計算精度の問題で計算結果が合わなくなるおそれがあるため、計算式に工夫が必要です。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>という関数があると聞きましたが、引数はどのように設定するのですか。 データ型変換に使う関数なので、どのように使うかは貴方のプログラムに関する部分です。 http://www.komonet.ne.jp/~vb/chap9.htm VBのヘルプなり、ネットで簡単に調べる事が可能かと思います。 >昼の12時と夜中の12時はどのような値を持つ のですか。 VBだと、日にちは1の値。 時間は、1を時間で割った値。 (深夜0時は0、昼の12時は0.5) TimeValue関数では役に立たないのですか?

参考URL:
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_k08.htm

関連するQ&A