- ベストアンサー
就寝時刻に対する達成率
excel2007で、 目標就寝時刻に対する実際の就寝時刻の達成率を求めたいのですが たとえば、 0時で寝るのが目標として、実際には23時で寝たとします。 この場合の達成率はどうやって求めればよいでしょうか A1に目標時刻0:00、C1に就寝時刻23:00を代入するものとします。 =A1/C1をしてみたら、正しく表示されずにエラーになりました
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
NO.1 です。 計算の問題としてではなく、このテーマは面白そうなので再度おじゃまします。 一つの考えですが、 ・0時就寝を目標として、就寝時刻が0時を過ぎたら目標を達成できなかったので、達成率はゼロ ・就寝時刻が0時以前なら目標達成率は 1 得られた達成率をそれを毎日積算し、日数で割ればその期間の達成率の平均が出ます。 それでは面白くないので、評価の要素を加えて、 0時を過ぎて、どこまで許容するか、その時刻を第2目標として設定します。例えば、第2目標時刻を2時とし、その場合の達成率を0.5とします。0時から遅くなるに従って、達成率は直線的に低くなるものとします。 そうすると、式はつぎのようになります。 達成率=(4-就寝時刻)/4 ただし、4≧就寝時刻≧0 達成率=0 ただし、就寝時刻>4時 達成率=1 ただし、就寝時刻<0時(24時) 就寝時刻が0 時以前の場合、その努力を評価して、達成率を1 以上としたい気は分かります。例えば10時(22時)に就寝できたとき、達成率を2 とします。しかし「就寝時刻が早ければ速いほど達成率が大きくい」と考えることには違和感を感じます。 そこで、就寝時刻が10時(22時)以前の場合、達成率を2 のまま変わらないものとし、10時(22時)から0時までは直線的に変化するものとします。 そうすると、式はつぎのようになります。 達成率=(24-就寝時刻) ただし、就寝時刻≧22時 達成率=1 ただし、就寝時刻<22時 ※エクセルで式を作るとなると、時刻が0時以降の場合と0時以前の場合を分けなければなりませんのでけっこう複雑になります。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)質問者にとっての第1課題 エクセルの時刻の「セルの値」(表示形式を適用する以前。この意味が分かりますか?)が日付の「日付シリアル値」とのシームレスな連続のため、24時間を1とする時間の割合で表されたものが使われています。 例えばセルに1:00:00と入力すると、1時ないし1時間ですが、セルの値は 0.0416666666666667 で、=1/24と同じ値になります。この値を次の段階のエクセルの割り算に使われます。 WEBなどで「日付・時刻シリアル値」で照会し勉強が必要ではないか? (2)質問者にとっての第2課題 本件は「たとえ話」で、本当は、店の業績などか、質問者のお遊び程度のはなしなのかはっきりしません。達成率というのは、「割合」に関連するものと思うが、内容が、果たして割り算した結果が適当かどうか、大げさに言えば、哲学的な考察が必要です。 実は小生は店の業績評価でよく出くわしましたが、今でも達成率というものをどう考えたらよいか、(関係者が(たとえば競合店が)その数値に納得するかどうか)すっきりとわかっていません。 またエクセルの時刻(間)は24時間(真夜中)を超えると、0に戻って、そこから翌日分が始まるので単純に時刻値を使うのは危険です。24時間を超えた表示方法もエクセルにありますが。 時間の流れを、例えば10時頃から夜2時ぐらいまでを、(数学の)数直線的に図示して考えて、エクセルの考えている、数値を割り算する意味を十分考えてください。その時に、エクセルの時刻の時刻シリアル値がどうなるかを、合わせて考えてください。
お礼
ありがとうございます
- bunjii
- ベストアンサー率43% (3589/8249)
>目標就寝時刻に対する実際の就寝時刻の達成率を求めたいのですが そのような評価の例を知りません。 抑々、指定期間で目標時刻前に就寝した日数の割合なら達成率を論じられますが目標時刻と実際の就寝時刻について比率を求めることに何の意味があるのでしょう? >A1に目標時刻0:00、C1に就寝時刻23:00を代入するものとします。 目標時刻は0:00ではなく24:00にすべきではにですか? また、「代入」は「入力」の誤りではないでしょうか? 尚、当日の24:00と翌日の0:00は同じなので日を跨いだ時の処理方法を決めておかないと数式を組めません。 「=A1/C1をしてみたら、正しく表示されずにエラーになりました 」についてはどのようなエラーかを提示して頂けないと対策方法が見つかりません。(提示の数式ではエラーにならない) =C1/A1の場合は#DIV/0!(0で除算)と言うエラーになります。 A1に24:00と入力すれば次のようになります。 =A1/C1 → 1.044 =C1/A1 → 0.958
お礼
ありがとうございます
- mdmp2
- ベストアンサー率55% (438/787)
Excel 2007 は無いので2010 でやってみました。 計算結果はエラーにはならず、ゼロになりました。 =C1/A1 としたのではありませんか?またはA1 に23:00, C1 に0:00 としたのではありませんか? それなら#DIV/0! というエラーになります。
お礼
失礼しました 確かにそうだったと思います ありがとうございました
お礼
お忙しい所ご回答ありがとうございます。 とても示唆に富む、創造的なご意見を頂き参考になります。 深夜0時から深夜4時までをエクセル上では24:00~28:00と表記 抵抗があるとはいえ、実際には目標時刻より大幅に早く寝るということは考えにくいので、条件分岐は最小限にしようと思います。 就寝時刻が目標時刻(ここでは深夜0時)以下のとき、 24:00/就寝時刻 ただし、それ以降は、就寝時刻を2時間すぎるまで直線的に達成率が下降し、 2時間後に一律0とする 達成率=("26:00"-"就寝時刻")/"2:00" ただし、2≧就寝時刻≧0 達成率=0 ただし、就寝時刻>2時 上記のようにしようと思います。 これを思いつくことができたのも、mdmp2様のご回答のお陰です。 貴方にご回答頂けなかったら他の回答者さんの非創造的な見解に翻弄されるところでした 重ねて御礼申し上げます。
補足
お忙しい所ご回答ありがとうございます。 とても示唆に富む、創造的なご意見を頂き参考になります。 深夜0時から深夜4時までをエクセル上では24:00~28:00と表記 抵抗があるとはいえ、実際には目標時刻より大幅に早く寝るということは考えにくいので、条件分岐は最小限にしようと思います。 就寝時刻が目標時刻(ここでは深夜0時)以下のとき、 24:00/就寝時刻 ただし、それ以降は、就寝時刻を2時間すぎるまで直線的に達成率が下降し、 2時間後に一律0とする 達成率=("26:00"-"就寝時刻")/"2:00" ただし、2≧就寝時刻≧0 達成率=0 ただし、就寝時刻>2時 上記のようにしようと思います。 これを思いつくことができたのも、mdmp2様のご回答のお陰です。 貴方にご回答頂けなかったら他の回答者さんの非創造的な見解に翻弄されるところでした 重ねて御礼申し上げます。