[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『シリアル値でその日の残り時間を計算して表示させるには?』(MSCL)
Excel2000, WINDOWS2000です。 みなさま、いつもお世話になっております。 シリアル値から『時刻』を表示させることはできます。 あくまでも『表示』だけなのかも知れませんが、 表示形式の時刻で『13:30』を選べば、時刻が表示されます。
では、例えば、午後1時半『13:30』であれば、 その日の残り時間は、10時間半です。 これを計算させて『10.5』のように表示させるには どんな計算をしたらよいでしょうか? おおもとの数値はシリアル値でお願いします。
時刻のセルがA1として =("24:00"-A1)*24 とすれば一応出ます。 かな? (ぽ)
ぽさんありがとうございます。
説明不足ですみません。
元の値はシリアル値なので、『39375.0742361111』のような数値です。 例えば、このシリアル値は、『2007/10/20 1:46:54』という日付と時刻を表しています。 この場合、この例では、10/20という日はあと何時間何分何秒残っているの? かを知りたいのです…。
>これを計算させて『10.5』のように表示させるには >あと何時間何分何秒残っているの? は、よく理解できませんが、
=MOD(-A1,1)としますと、そのように計算できると思います。 表示形式は、h:mm:ssなどお好みのものにして下さい。 (6UP)
パチパチ! 一生懸命計算してたのが情けない・・・ (ぽ)
6UPさん、ありがとうございます。
やってみましたが、、、 シリアル値 同、日付時刻表示 =("24:00"-A1)*24 =MOD(-A1,1) 39375.07423 2007/10/20 1:46 -944977.782 18:45 という感じになりました…。 私のやり方がマズいですか?…
この例だと、右端の結果は、この日の残り時間は、 22:14で、さらに22.233と数値で表示させたいです…。
では、=MOD(-A1,1)*24 でしょう? =MOD(-"2007/10/20 1:46",1)*24 → 22.23333333 と表示しています。 (6UP)
>18:45 -944977.782に対して=MOD(-A1,1) とするとそうなりますが。 39375.07423に対して=MOD(-A1,1) ですよ。 私の式は無視しちゃってくださいな。 (ぽ)
6UPさん、ありがとうございます! できました!
MODというのは、余りで使う関数ですね。 時間でも応用できるんですね…マイナスまで付けて…。 とても思いつきません。また一つ、勉強になりました。
お二人ともチャット並みの迅速な回答、 ありがとうございました。
↑ >はじめまして。 との事ですので、MSCLさんとは別の方でしょうか? であれば、新規の質問をなさったほうがよろしいのではないでしょうか? 内容も、まるで別の案件のようですし。。。 ちなみに、こちらは参考になりますか? [[20051112172942]]『VLOOKUP関数で上付き文字使用のデータ抽出』(初心者) (キリキ)(〃⌒o⌒)b
一応、マクロで考えて見ましたが、、、 シートモジュールへコピペ '----------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim MyTxt As Variant If Target.Count > 1 Then Exit Sub With CreateObject("VBScript.RegExp") .Pattern = "\d+" .Global = True If .Test(Target) Then Application.EnableEvents = False Target.Value = Target.Value For Each MyTxt In .Execute(Target) Target.Characters(Start:=MyTxt.FirstIndex + 1, Length:=MyTxt.Length).Font.Subscript = True Next MyTxt End If End With Application.EnableEvents = True End Sub ※検証不足かもしれませんのであしからず。。。 数式で反映させた後、値のみを返してます。 (キリキ)(〃⌒o⌒)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.