重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (5件)

エクセルでそのように変換できる関数はありません


自分で数式を作るしか方法はないのです

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)&"時間")
上の式の結果と見比べてみてくださいね
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/28 22:39

#4です


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

↓これではダメなんですか?


答え(日)=日+INT(時間/8)
答え(時)=MOD(時間,8)

この式に質問の例題を代入すると・・・
答え(日)=30+INT(90/8)=30+11=41
答え(時)=MOD(90,8)=2
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/28 22:32

日にちのセルと時間のセルは別ですよね


A列に日にち、B列に時間として
C2=TEXT(A2+INT(B2/8),"0日")&TEXT(MOD(B2,8),"0時間")
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/28 22:29

30日と90時間はそれぞれ別のセルにあると思います。



90時間が11日+2時間になればよいと思うのでそれぞれを計算します。

セル(A1)に時間形式で 90:00:00
セル(A2)に時間形式で 08:00:00
とあるとして

日=int(A1/A2)
時間=mod(A1/A2)
とし、
日の表示形式は「標準」又は「数値」
時間の表示形式を「時刻」
としてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/05/28 22:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!