Excelで「1時間×単価」を計算する方法|時間の文字入力を数値化して自動計算する関数の使い方

Excel

Excelで作業時間や勤務時間に単価を掛けて金額を計算したい場合、入力されている時間が単なる数字なのか、「1時間」のような文字付きデータなのかによって計算方法が変わります。

例えば「1時間×300円」のような計算をしたい場合、Excelは文字が含まれたセルをそのまま掛け算することができません。そのため、時間部分だけを取り出して数値に変換する処理が必要になります。

ここでは、TIMEVALUE関数やSUBSTITUTE関数を使う方法、さらに簡単な入力方法について解説します。

Excelでは「1時間」という入力はそのまま計算できない

Excelでは「1時間」という入力は、見た目では時間に見えていても、文字列として扱われる場合があります。文字列の場合、例えば「1時間」と入力されたセルに300を掛けても正しい計算結果は表示されません。

計算するためには、Excelが認識できる時間や数値の形式に変換する必要があります。

例えば以下のようなデータの場合を考えます。

A列 B列 結果
作業時間 単価 金額
1時間 300円 300円

このような計算をするには、A列の「1時間」という文字から数字の「1」を取り出す必要があります。

SUBSTITUTE関数で「時間」という文字を削除する方法

文字付きの時間を計算する場合、よく使われる方法がSUBSTITUTE関数です。SUBSTITUTE関数は、指定した文字を別の文字に置き換える関数です。

例えばA1セルに「1時間」と入力されている場合、以下のような式で「時間」という文字を削除できます。

=SUBSTITUTE(A1,”時間”,””)

この結果、「1時間」は「1」という数字だけになります。ただし、この状態では文字列として扱われる場合があるため、計算に使う場合は数値化する処理を追加します。

例えば以下のようにします。

=VALUE(SUBSTITUTE(A1,”時間”,””))*B1

A1が「1時間」、B1が「300」の場合、結果は「300」と表示されます。

TIMEVALUE関数を使う場合の注意点

TIMEVALUE関数は、文字列で入力された時刻をExcelの時間データへ変換する関数です。しかし、「1時間」のような単位付きの文字列をそのままTIMEVALUEに入れても、正しく変換できない場合があります。

TIMEVALUE関数が得意なのは「1:00」や「12:30」のような時刻形式です。

例えばA1セルに「1:00」と入力されている場合は、以下のような計算ができます。

=TIMEVALUE(A1)*24*300

Excelの時間は1日を1として管理しているため、1時間は1/24になります。そのため、時間数として計算したい場合は24を掛ける必要があります。

作業時間計算なら入力方法を変えるともっと簡単になる

請求書や作業時間管理で使う場合は、「1時間」のような文字付き入力よりも、最初から数値だけを入力する方法がおすすめです。

例えば作業時間を「1」、単価を「300」と入力しておけば、計算式は非常にシンプルになります。

=A1*B1

表示だけ「1時間」としたい場合は、セルの表示形式を変更する方法があります。これなら中身は数字のままなので、計算ミスが起こりにくくなります。

例えば、入力値は「1」のままにして、表示形式で「0時間」と設定すると、画面上では「1時間」と表示できます。

請求書や給与計算で使う場合のおすすめ設定

仕事で時間単価を計算する場合は、入力ルールを統一することが重要です。「1時間」「1h」「1.0」など入力方法がバラバラになると、関数が複雑になり管理が難しくなります。

おすすめは、時間数のセルには数字だけを入力し、単価セルと掛け算する形式です。

例えば以下のような表にすると管理しやすくなります。

作業内容 時間 単価 金額
作業A 3 300 900
作業B 2 500 1000

この形式なら、後から合計金額を出したり、請求書へ転記したりする場合にも便利です。

まとめ:文字付き時間を計算するなら数値化がポイント

Excelで「1時間×300」のような計算をする場合、「1時間」という文字をそのまま計算するのではなく、時間部分を数値に変換する必要があります。

SUBSTITUTE関数で「時間」を削除し、VALUE関数で数値化する方法なら、文字付きデータでも計算できます。

ただし、請求書や業務管理で継続的に利用する場合は、最初から時間を数字として入力し、表示形式で「時間」を付ける方法が最も簡単でトラブルが少ない方法です。

コメント

タイトルとURLをコピーしました