[[20031114144100]] 『合計時間から1台に掛かる作業時間を計算したい』(おかやん) ページの最後に飛ぶ

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

 

『合計時間から1台に掛かる作業時間を計算したい』(おかやん)

合計作業時間から1台に掛かる作業時間を計算したい。


 合計作業時間÷合計台数=1台に掛かる作業時間
  ですか?(INA)
 

  具体的には 354台作成するのに1,551時間掛かりました、1台に掛かる作業時間の計算式をお願いいたします。
 セルは数値に設定して、HOUR関数を使い計算式を設定しましたが答えがでませんでした。
 よろしくお願いします。(おかやん)

 よく分からないのですが、
   1,551 ÷ 354 = 約4.38 H 
     A1       B1    C1(=A1/B1)  
 ですか? 
 (INA)

 もう一つの計算方法ですが

 A1 に
 =(1551*60*60)/354

 B1 に
 =(A1-MOD(A1,3600))/3600&"時間"&(MOD(A1,3600)-MOD(A1,60))/60&"分"&ROUND(MOD(A1,60),0)&"秒"

 いずれも書式は [標準] です。参考にして下さい。

 (e2h)時間の計算
http://www.excel.studio-kazu.jp/lib/e2h/e2h.html
 も、是非見て下さいね。   (jun53)

 INAさんの求められた数値をシリアル値に変換します。
C2セルで、右クリックメニュー「セルの書式設定・表示形式・時刻」で○:△:□か○時△分□秒とすれば
jun53と同じ結果が得られます。
     A         B           C
1 台 数  所要時間  作業時間/台
2 1,551     354      =A2/B2*"1:0" ←(4:22:53)OR(4時22分53秒)
 (シニア)

 シニアさん
 =A2/B2*"1:0" 式中の

 "1:0"

 数値にこんなものを掛け算するなんて反則技です。。。(笑)
 *"1:0" でシリアル値になるなんてどんな本に書いてあるのですか??

 他のスレでシニアさんが書いていたのも見た事があるんですが、
 私には理解不可能です。   (jun53)

 「時間計算だからHOUR関数」と思われたのかもしれませんね。
 失敗した数式を書いてないので想像ですが、
       A       B      C  
 1   1,551    354    =HOUR(A1/B1)

 このようにした場合、
 エクセルで「時間」は「シリアル値として扱う」ことになっています。
 シリアル値は整数部分を「日数部分」小数部分を「一日に満たない時間部分」
 と仮定して扱う数値です。
 1551/354=4.381355932・・・
 なので、0.381355932・・・の部分だけがHOUR関数で評価されて「9」という
 結果が返ります。(表示形式を時間にすると9:09)

 実際に求めたいのは4.381355932・・・時間ですから
 X時間(Xは整数)をシリアル値に直すには(X/24)してやれば、よいのです。

       A       B      C  
 1   1,551    354    =(A1/24)/B1

 としてC1の表示形式を「h:mm」等にするか、
 C1の数式を
       A       B      C  
 1   1,551    354    =TEXT((A1/24)/B1,"[h]時間mm分")

 とするかでしょう。
 (KAMIYA)

 jun53さん
 >"1:0"数値にこんなものを掛け算するなんて反則技です。。。(笑)私には理解不可能です。
時刻のシリアル値を10進数に変換する場合、時刻に24倍(一日=24時間)してやればよいことになります。
(シリアル値の1は1日ですから10進数は日数に変換すればよいことになります。)
【時刻(シリアル値)→数値(10進数)】
=時刻*24
=時刻/TIME(1,0,0)
=時刻/"1:0"
セルの書式は「数値」にします。(桁数は随時指定)
【数値(10進数)→時刻(シリアル値)】
=数値/24
=数値*TIME(1,0,0)
=数値*"1:0"
セルの書式は「時刻」にします。
条件式として =TIME(1,0,0)=VALUE("1:0") でTRUEになります。
結局文字列の"1:0"は親切なEXCELが内部で =VALUE("1:0") に処理してくれています。
時刻の切り上げ,切り下げなどはこの文字列時刻を使うと便利です。
A1に18:20と入力、B1に =CEILING(A1,"0:30")で切り上げ(18:30)、=FLOOR(A1,"0:30")で切り下げ(18:00)になります。
下手な説明ですが、文字列時刻が数値扱いになることを理解していただけましたでしょうか?
 >*"1:0" でシリアル値になるなんてどんな本に書いてあるのですか??
私はこのサイトで遊ばさして頂いていて、特に本は読んでいません、この用法もこのサイトで身に付けたものと思います。
頭の体操中の71歳(シニア)

 う〜ん、すげえなぁ。
 頭の運動不足 syun53の扶養家族(弥太)

 スンマヘン、字ぃが間違うとりました。
       syun(旬)53の不要家族(弥太)

 シニアさん、丁寧な説明ありがとうございます。

 お久しぶりに講義を聴いたような気がします  ううっ 急に眠気が.....
 ちょっと脳内がメビウスの輪状態、回線もとぎれとぎれ。。
 新鮮な空気を吸ってもう一度読み直します。   (jun53)

 皆様ご指導ありがとうございました、KAMIYAさんとシニアさんのご指導どおりにやりましたら
 計算式が完成しましたが、答えが目算でできる計算の答えが不正解になります。
 例 2台作成するのに 66時間掛かりました単純に 33時間が答えですが
   66/2*”1:0”=9時間   
   (66/24)/2  =9時間    
   
   5台作成するのに 170時間掛かりました単純に34時間が答えですが
   170/5*”1:0”=10時間
   (170/24)/5 =10時間

   2例の答えの結果は以上のようになりました セルの設定は○時○○分にしています。
   私はエクセルの知識があまりないので申し訳ありませんがもう一度
   ご指導お願いいたします。  (おかやん)


 「シリアル値」の考え方をもう少し把握してください。
 シリアル値とは1900年1月1日0時を1.00と仮定して時間を表す数値です。

 >   66/2*”1:0”=9時間   
 >   (66/24)/2  =9時間    

 標準の書式設定で表示するとこうなります。
 標準書式では24時間以上の時間は標示されません。

 上記の計算値は数値では1.375です。
 そのうちの小数部分だけが時間として評価されたに過ぎません。
 1以上は「1日」と認識され「?時?分」の表示形式では無視されます。
 つまり、実際には(24)+9時間で計算はあっているのですが、
 ()内の数値は表示の処理で無視されています。

 これを日付の表示形式設定にすると
 1900/1/1 9:00 AM
 のように標示されます。

 つまり、計算の結果を
 「1900年1月1日0時より9時間大きい数値」としてエクセルは認識しています。

 これを、24時間以上の時間として表示するには
 セルの書式設定の表示形式、ユーザー定義で
 [h]:mm:ss
 とするか、計算結果を表示するセルを

 =TEXT((66/24)/2,"[h]時間mm分")

 のようにする必要があります。
 (KAMIYA)


 KAMIYAさんありがとうございました 原因は24時間以上の時間かなとは考えましたが
 どうしていいかわからずだいぶ悩んでしまいました。
 半年位探していた計算式が理解してこれから使用できます。
 これからもわからないときは質問させていただきますし 勉強もしなくては
 ありがとうございました。(おかやん)
   

コメント返信:

[ 一覧(最新更新順) ]


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