- ベストアンサー
エクセルを使って給料計算(初心者です)
エクセルを使って給料計算したいと思っています。 (1)退社時間から出社時間と休憩時間を引き (例19:00-8:45-0:45) (2)出てきた時間に時給をかけて (例10:15*1000) やろうと思いましたが、(2)がうまくいきません。 ちゃんと計算できる方法を教えてください。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
時間は60分計算だし、そのまま行くと(2)のとき1000をかけると20:00とかなりませんか? もしかしたらもっと簡単な方法があるかもしれませんが、(関数とか)私が考えた方法を書きますね。 まず時間と分のセルを分けます。 A1→19 B1→0 これで19:00 C1→8 D1→45 これで8:45 E1→0 F1→45 これで0:45 これは一行目で考えていますが、実際はこの上に退社時間の時間・分、出社時間の時間・分、休憩時間の時間・分などのセルを入れると表が見やすいです。 そしてまずは時間。 G1に、=A1+C1+E1 で時間の合計を出します。この場合時間は11ですね。 次に分。これは60分計算なので60で割りますので H1に、=(B1+D1+F1)/60 で分の合計が出ます。この場合分は-1.5ですね。 で、次のセルに合計を出して1000円かけますので I1に、=(G1+H1)*1000 で、9500円と出ます。 こんなかんじでどうでしょうか。 合計式のところはセルに枠を合せた時に右下に黒い四角のやつが出ますよねそれをドラッグして下のセルにダーって引っ張れば、その行に勝手に対応してくれますから、合計式だけそうして延ばして行っていれば、時間と分を入力するだけで、あとは勝手に数字を出してくれますよ。 一応参考までに・・・ わかんなかったらまた聞いてください~
その他の回答 (7)
- e10go
- ベストアンサー率38% (47/122)
こんばんわ。No.7のe10goです。 >5分単位の場合、”1:00”を”0:05”にすればいいのでしょうか? はい、それで良いです。 「=INT((A1-B1-C1)/"0:05")*1000*("0:05"/"1:00")」 となります。 >INTに関してはいま一つよくわかりませんでした。 INT関数はカッコ内の数値から小数点以下の数値を切捨てて、整数のみを返します。 「=INT((A1-B1-C1)/"1:00")」とした場合、答えは、「9」です。 「A1-B1-C1」は、数値の「0.39583...後は3の循環数字」となります。 表示は「9:30」ですが、実際は上のような数字です。 同様に「"1:00"」は「0.0416...後は6の循環数字」となります。 したがって、「=INT((A1-B1-C1)/"1:00")」は「=INT(0.39583.../0.0416...)」となり、 「=INT(9.5)」となり、「0.5」が切捨てられて、最終的に「9」となります。
お礼
回答ありがとうございます。 返事が遅れてすみません。 完璧ではありませんが少し理解できました。 自分が満足するものには程遠いので、また質問すると思います。 その時にはまたお願いします。
- e10go
- ベストアンサー率38% (47/122)
A1に「19:00」、B1に「8:45」、C1に「0:45」と入れて、 D1に「=A1-B1-C1」を入れれば、「9:30」と表示されます。 次に、E1に「=INT((A1-B1-C1)/"1:00")*1000」と入れれば、「9000」と表示されます。 もし、「0:00」と表示されたら、「セルの書式設定」で、「表示形式」を「標準」にすれば「9000」と表示されます。 なお、上の計算式では、1時間を1000として、1時間未満を切捨てています。 もし、15分単位で計算するなら、 E1に「=INT((A1-B1-C1)/"0:15")*1000*("0:15"/"1:00")」と入れてください。 そうすると、「9500」と表示されます。
お礼
回答ありがとうございます。 5分単位の場合、”1:00”を”0:05”にすればいいのでしょうか? 他の人が教えてくれた関数に関しては、一応使い方を理解できたと思いますが、INTに関してはいま一つよくわかりませんでした。 もう少し、勉強してみます。
- 001002003
- ベストアンサー率27% (3/11)
私も時間・給与計算をエクセルで作りました。 10:15をHOURとMINUTEを使い二つのセルに分け 時間の方は*1000、分の方は、*1000/60 にして二つのセルを足します。 10分未満切捨ての場合は、分けた分数を ROUNDDOWNセル番号,-1で切捨てします。
お礼
回答ありがとうございます。 いろいろなやり方があることがわかりとても参考になりました。
- hana2355
- ベストアンサー率37% (18/48)
セルの「A1」に(1)で計算した結果が入力してあると仮定して説明します。 私なら「=(HOUR(A1)+MINUTE(A1)/60)*1000」という数式を作ります。 解説すると 関数HOURは該当セルに入力されている時間だけを返し、関数MINUTEは分だけを返します。 分の部分は時間換算にするために、60で割っています。 この結果を足し算し、最後に時給(1000)を掛ければ上記の数式です。
お礼
回答ありがとうございます。 「関数を使えばいいのでは?」と思っていましたが、関数に関してはまったくわからず困っていました。 とても参考になりました。
- boo373guchi
- ベストアンサー率27% (158/582)
3の者です。 補足読みましたが5分ごとなんですか・・・ 私の方法では5分ごとまで細かくなるとちょっと割り切れずに変な数字になります。 ごめんなさい15分ごとと思っての計算式でした。
- aco2300
- ベストアンサー率20% (10/50)
まず、時間にかけるお金の単位が”時給”ですから、読んで字の如く1時間あたりの金額を示しています。 よって、掛ける時間も時間単位にしないと給料は出ませんよ... 例:10時間15分の場合→10.25 * 1000 =10250円 (ちなみに15分は1時間の1/4だから0.25時間です。) (しかし、15分刻みで支給されるとはうらやましい...大抵30分刻みですがね...)
- nasubi-
- ベストアンサー率27% (10/36)
はずしてたらごめんなさい。 10:15→10.25で計算してはどうですか? 15分は60分を1(1時間)として0.25になりますから…。
お礼
回答ありがとうございます。 最初は、小数点で表示しようと思いましたが、勤務時間は5分単位でつけるので 19:05-8:20-0:40のような時もあるので・・・ 説明不足ですみません。
お礼
回答ありがとうございます。 時間と分でセルを分けるという考えは浮かびませんでした。 他の人が教えてくれた関数等も参考にしながら、自分が使いやすいものを作ってみようと思います。 とても参考になりました。