• ベストアンサー

時間を日にできる関数

 休暇の時間を計算する場合、例えば、30日と90時間は時間を8時間で1日に換算すると、41日と2時間になります。エクセルでそのように変換できる関数はないんでしょうか?

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

エクセルでそのように変換できる関数はありません 自分で数式を作るしか方法はないのです 30日+90時間÷8時間=41日と2時間と一発で出そうですが 実際計算すると 90時間÷8時間の部分で11.25になってしまいます そこで、エクセルに備わっている、おまじない(関数)を使用して式を立てて見ます おまじないは整数部分を取出すINT関数と割り算の余りのみを求めるMOD関数を使用します 30日+INT(90時間÷8時間)+MOD(90時間÷8時間) これを計算すると 30日+11日+2時間となり、希望の結果が得られる これをエクセル的に表現すると 日付部分 =30+INT(90/8) =41 時間部分 =MOD(90/8) =2 これを1つのセルで表現するには、ちょっとしたコツがあります =30+INT(90/8)+MOD(90/8) でいけそうな気もしますが結果はXです =43 になってしまいます 今までは計算をするため、数値として扱っていた数字を文字として扱います 文字の足し算には&を使用します =30+INT(90/8)&MOD(90/8) =412 う~ん、これでは数字の412と見間違ってしまうので、もう一工夫 =30+INT(90/8)&" "&MOD(90/8) =41 2 これで、大分希望に近くなったと思います まあ、ここまでくれば予想できると思いますが =30+INT(90/8)&"日"&MOD(90/8)&"時間" =41日2時間 これで、終わりますが一つ宿題 =JIS(30+INT(90/8)&"日"&MOD(90/8)&"時間") 上の式の結果と見比べてみてくださいね

suntyan
質問者

お礼

 ありがとうございます! 大変勉強になりました。いま、頑張ってやっています。無償でアドバイスいただけるなんて、まだまだ世の中捨てたものではないですね。感謝します。 ・・実は、もうひとつ疑問がありまして、図々しいようですが、お時間あればご教示ください。質問コーナーにsuntyann名で載せます。お忙しければ無視してください・・  

その他の回答 (4)

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

#4です 恥ずかしい 訂正です MOD(90/8)は間違いです MOD(90/8)の部分はすべて MOD(90,8)と読み替えてください カッコ悪

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.3

↓これではダメなんですか? 答え(日)=日+INT(時間/8) 答え(時)=MOD(時間,8) この式に質問の例題を代入すると・・・ 答え(日)=30+INT(90/8)=30+11=41 答え(時)=MOD(90,8)=2

suntyan
質問者

お礼

 いろいろありがとうございました。大変勉強になりました。お時間裂いてくれて感謝します。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

日にちのセルと時間のセルは別ですよね A列に日にち、B列に時間として C2=TEXT(A2+INT(B2/8),"0日")&TEXT(MOD(B2,8),"0時間")

suntyan
質問者

お礼

 お忙しい中、ありがとうございました。何とかやってみます。実は、もうひとつ疑問があったのですが、もし、お時間あればでいいので、ご教示ください(質問コーナーにsuntyanで載せました)

  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

30日と90時間はそれぞれ別のセルにあると思います。 90時間が11日+2時間になればよいと思うのでそれぞれを計算します。 セル(A1)に時間形式で 90:00:00 セル(A2)に時間形式で 08:00:00 とあるとして 日=int(A1/A2) 時間=mod(A1/A2) とし、 日の表示形式は「標準」又は「数値」 時間の表示形式を「時刻」 としてください。

suntyan
質問者

お礼

 ありがとうございました。頑張ってやってみます。実はもうひとつ疑問があったのですが、もしお時間あればでいいんですが、ご教示ください。(質問コーナーに書き込みました。)

関連するQ&A