[[20040204085708]] 『現在から指定日までの残り日付・時間の計算』(ユッキー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『現在から指定日までの残り日付・時間の計算』(ユッキー)

現在から、ある指定時刻までの残り日数と時間を計算したいのですがうまくいきません。どなたかお教え下さい。

例:指定日・時刻をA1のセルに「2004/2/20 23:00」と入力し、現在からその時間までの残り日数・時間をB1のセルに「=A1-NOW()」としています。B1の表示形式は「d"日と"h"時間"mm"分"」です。すると、「16日と13時間51分」というように正確に答えがでます。しかし、指定日・時刻が「3/20 23:00」と次の月にまたがってしまうと、答えが「14日と13時間51分」というようにおかしくなってしまいます。どうしてでしょうか?

よろしくお願い致します。


 表示形式での日にちの表示は「何月何日」の「何日」が表示されるに過ぎません。
 つまり、一月以上の間隔がある場合は当然、日にちの部分だけが表示されるので、
 表示形式で日数の間隔を表示させるのは適しません。
 日付の部分と時間の部分を別々に計算して表示形式ではなく文字列として
 表示するのが妥当と考えます。
 (KAMIYA)

KAMIYAさんありがとうございます。
日付と時間を別にして作り直したいと思います。

しかし、日付の方はよいとして、時間の方のやり方が分かりません。
できれば、「何日と何時間何分」というふうに表示したいのですが・・・。

何かよい方法はありませんか?
(ユッキー)


 B1に =ROUNDDOWN(A1-NOW(),0)&"日と"&TEXT(CEILING(MOD(A1-NOW(),1),"0:1"*1),"h!時間mm!分")
↑これでどうでしょう?(Yosh!)

=IF(TEXT(A1,"h:m")-TEXT(NOW(),"h:m")<0,DATEDIF(NOW(),A1-1,"d")&"日と"&TEXT("24:00"+A1-NOW(),"h時間m分"),DATEDIF(NOW(),A1,"d")&"日と"&TEXT(A1-NOW(),"h時間m分"))
 長くなっちゃいました。
 (KAMIYA)

Yosh!さん、KAMIYAさん、ありがとうございます。
しかし、KAMIYAさんのはまたしてもおかしくなってしまうのですが・・・。
(ユッキー)

うっかり間違っているほうを貼り付けてしまいました。
"md"→"d"
DATEDIFの引数間違いです。
訂正しました。
(KAMIYA)

Yosh!さん、KAMIYAさん、お二人とも完璧です。

本当にありがとうございました。(ユッキー)


ずうずうしくてすみませんが、あと二つお聞きしたいことがあります。
残り時間が24時間以内になったらフォントの色を赤くし、残り時間が0以下になったら終了と表示させたいと思うのですがどうしたらよろしいでしょうか?
(ユッキー)

 私の式の場合ならB1を下記のように変更します。

=IF(A1<=NOW(),"終了",ROUNDDOWN(A1-NOW(),0)&"日と"&TEXT(CEILING(MOD(A1-NOW(),1),"0:1"*1),"[h]!時間mm!分"))

 「書式」−「条件付き書式」の条件を下記のように設定し、書式で赤を選択します。
[数式が] [=A1-NOW()<=1]
(Yosh!)

 衝突しました。
 Yosh!さんの式をお借りして、
=IF(A1<NOW(),"終了",ROUNDDOWN(A1-NOW(),0)&"日と"&TEXT(CEILING(MOD(A1-NOW(),1),"0:1"*1),"h!時間mm!分"))
色の方は条件付書式で「数式が」「=AND(A1-NOW()<1,A1-NOW()>0)」としてフォントを
赤に設定します。(ケン)

できました。

Yosh!さん、ケンさん、ありがとうございました。(ユッキー)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.