- ベストアンサー
合計時間から時給計算
エクセルで分からず困っています。 合計時間159:57から時給900円の金額を出したいのですがどうやったら良いのですか? ちなみに分給で当社は発生します。(時間と分を分けないと出来ないのか・・本当初歩的な質問ですみませんm(__)m)
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例えばA1セルに159:57と入力すれば数式バー上には1900/1/6 15:57:00のように表示されますね。これは1900年1月0日からの経過日数でそれが日付として表示されているのです。 A1セルの書式設定から「表示形式」で「標準」を選択すれば159:57と入力したセルの表示は6.66458・・のように変わって数式バー上の値も同じ値が表示されます。これは1900年1月0日からの経過日数となっており、シリアル値と呼ばれるものです。エクセルで常に日付はシリアル値で評価され計算に使われます。 したがって時給の計算では時間で入力してもシリアル値として評価されますので24を掛けて時間に直し、それに時給を掛けることになります。 ところで仮に159時間57分と入力した場合には数式バー上での表示は159時間57分となっておりシリアル値としての評価はされません。文字列として入力されたのにすぎません。そのままでは時給の計算に使うことができません。 仮にA1セルに159時間57分と入力した場合にそれを計算に使うのでしたら例えば次のような式にするとよいでしょう。時給900円の場合では =SUBSTITUTE(SUBSTITUTE(A1,"時間",":"),"分","")*24*900 この式は時間の文字を:に変え、分の文字は空白としており、159:57と入力したと同じことを行っています。
その他の回答 (2)
- FEX2053
- ベストアンサー率37% (7991/21373)
まずはセルを右クリック、「セルの書式設定」の「表示形式」タブがどうなっているか、確認して下さい。ココがどうなっているかが、簡単にできるか、要超絶技巧かの分かれ目です。 セルの表示内容が「135時間15分」の場合で、表示形式が「[h]"時間"mm"分"」ならばオッケー、単純に24倍して時給を掛ければオッケーです。表示内容が「135:15」で表示形式が「[h]:mm」でも同じです。 問題は表示形式が「標準」の場合で、これは「要超絶技巧」になります。一発の式で何とかする方法もありますが、これやっちゃうと式が壊れたり、応用をしたりする時ににっちもさっちもいかなくなりますので、計算用のセルを5つ使います。元のデータが「135時間15分」でセルA1に設定されていたとした場合。 まず、「XXX時間」の数字を引っ張り出すために、"時"という文字でセル内容を前後にわけます。"時"の位置は セルB1 : =FIND(A1,"時") で分かり、この場合先頭から4文字目と分かります。ですので、「時間」の数字は先頭から3文字目までですから、これをB2に引っ張り出します セルB2 : =LEFT(A1,B1-1) 一方、"分"の数値は、総文字数が分からないと場所が分かりません。Excelは「数字の場所は見れば分かる」なんてことは出来ません。先頭から何文字目から何文字目、という事が分からないと何とも出来ないのです。"分"の文字は必ず最後に来ますので、調べるのは「総文字数」でオッケー、"分"の数字は必ず「"時"の文字の2文字後ろ」から始まります。 セルC1 : =LEN(A1) 文字の抜きだしはMID関数ですが、この関数は「何文字目から何文字分」でしか引っ張り出せません。ですので、引っ張り出しかたはちょっと面倒な セルC2 : =MID(A1,B1+2,C1-B1-2) こうなります。 ココまでくれば、後は単純に加算すればオッケー。Excelは全角文字であっても数字ならば、ちゃんと数値として扱ってくれます。 セルD2 : =B2+C2/60 これが勤務時間です。後は時給を掛ければいいだけです。 セルE1 : =D2*900 計算用のセルが気になるなら、B,C,D行を選択して「非表示」にすればオッケー。再表示させるにはA~E行を選択して「再表示」すれば出てきます。
- FEX2053
- ベストアンサー率37% (7991/21373)
合計時間が「日付シリアル」で入力されているなら(表示形式が「[h]:mmになってるなら)、 =合計時間 × 24 × 時給 これだけですが。「日付シリアル」は1日を1とした値ですから、24倍すればオッケーなんです。
お礼
有難うございます。 すみません。。135時間15分などの入力形式だと135:15にしないと計算出来ないですか? 本当初歩的な質問で申し訳ないです。