Excelで計算をしていて、小数点以下の端数処理に困ったことはありませんか。 そんなときは、数値を四捨五入、切り上げ、切り捨てる関数を使います。
では、それぞれの関数の使い方をご紹介します。
「数学/三角」の分類にある関数を使うと、端数処理ができます。
表を使って各関数の使い方をご紹介します。
この表は商品ごとの通常価格が入力されていて、各商品のセール価格を求めています。
「セール価格(端数処理前)」には、通常価格から割引率を引いた数式が入っており、計算結果に端数が発生したため端数処理をします。
※ 数値が入っているセルには、[桁区切りスタイル] が設定してあります。
では端数処理前のセール価格を四捨五入してセール価格を求めます。
使用する関数はROUND関数です。
関数の形式は =ROUND(数値,桁数) になります。
1つ目の引数の「数値」には、四捨五入する数値や数式、または数値が入力されているセルを指定します。
2つ目の引数の「桁数」には、数値を四捨五入した結果の桁数を指定します。
「桁数」には数字を指定します。小数第一位を「1」、小数第二位を「2」というように割り当てられています。さらに、一の位を「0」、十の位を「-1」、百の位を「-2」というように、整数部分には「0」から順にマイナスの数字が割り当てられています。
この桁数を使って求めたい位を指定します。
例えば、四捨五入する数値が123.456の場合、数値を整数で求めるには桁数に「0」を指定します。そうすると、小数第一位で四捨五入して「123」となります。
また、小数第一位まで求めるには、桁数に「1」を指定します。そうすると、小数第二位で四捨五入して「123.5」となります。
では、商品Aの「セール価格(整数)」に入る数式を考えます。
四捨五入する数値は、端数処理前のセール価格の数値のため、「数値」にはセル【E4】を指定します。数値は整数で求めるため「桁数」には、「0」を指定します。
商品Aの「セール価格(小数第一)」に入る数式は、整数の時と同じで、「桁数」だけが違います。小数第一位まで求めるため [桁数] には「1」を指定します。
では式を入力します。
セル【F4】をクリックします。
[fx (関数の挿入)] をクリックします。
[関数の挿入] ダイアログボックスが表示されました。
[関数の分類] の V をクリックします。[数学/三角] をクリックします。
「ROU」と入力します。
[関数名] で [ROUND] が選択されていることを確認します。[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E4】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「0」と入力します。
結果として「=1092」と表示されているのを確認し、[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUND(E4,0)」と表示されました。
続いて、小数第一位まで求める式を入力します。
セル【G4】をクリックします。
[fx (関数の挿入)] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されました。
[関数の分類] の V をクリックします。[数学/三角] をクリックします。
[関数名] 内をクリックし、「ROU」と入力します。
[関数名] で [ROUND] が選択されていることを確認します。[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E4】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「1」と入力します。
結果として「=1092.3」と表示されているのを確認し、[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUND(E4,1)」と表示されました。
※[桁区切りスタイル] が設定しているので整数で表示されます。
今回は結果が分かりやすいように小数第二位まで表示します。
セル【F2】からセル【G2】まで選択します。
[ホーム] タブの [数値] グループにある [小数点以下の表示桁数を増やす] を2回クリックします。
小数第二位まで表示されました。
式をコピーします。
セル【F2】からセル【G2】まで選択されているのを確認します。
選択したセルの右下にマウスポインターを合わせます。マウスポインターが 十 になったら、6行目までドラッグします。
四捨五入した結果が表示されました。
整数で求めた場合は小数点以下が「0」になり、小数第一位まで求めた場合は小数第二位以下が「0」になっているのがわかります。
次に、同じ表を使って切り上げをします。整数と小数第一位までを求めます。
使用する関数はROUNDUP関数です。
関数の形式は「=ROUNDUP(数値,桁数)」になります。
1つ目の引数の「数値」には、切り上げる数値や数式、または数値が入力されているセルを指定します。
2つ目の引数の「桁数」には、数値を切り上げた結果の桁数を指定します。
例えば、数値が123.456の場合、数値を整数で求めるには桁数に「0」を指定します。そうすると、小数第一位で切り上げて「124」となります。
また、小数第一位まで求めるには、桁数に「1」を指定します。そうすると、小数第二位で切り上げて「123.5」となります。
では、商品Aの「セール価格(整数)」に入る数式を考えます。
切り上げる数値は、端数処理前のセール価格の数値のため、「数値」にはセル【E10】を指定します。整数で求めるには「桁数」に「0」を指定し、小数第一位まで求めるには [桁数] に「1」を指定します。
では式を入力します。
セル【F10】をクリックします。[fx(関数の挿入)] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されるので、[関数の分類] が [数学/三角] になっていることを確認します。
[関数名] の中をクリックし、「ROUNDU」と入力します。
[関数名] の [ROUNDUP] が選択されていることを確認します。[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E10】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「0」と入力します。
結果として「=1093」と表示されているのを確認します。[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUNDUP(E10,0)」と表示されました。
※結果が分かりやすいように、 [小数点以下の表示桁数を増やす] を2回クリックし、小数第二位まで表示されるようにしています。
では、小数第一位まで求める式を入力します。
セル【G10】をクリックします。[fx (関数の挿入)] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されました。[関数の分類] が [数学/三角] になっていることを確認します。
[関数名] の中をクリックします。「ROUNDU」と入力します。
[関数名] の [ROUNDUP] が選択されていることを確認します。[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E10】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「1」と入力します。
結果として「=1092.3」と表示されているのを確認します。[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUNDUP(E10,1)」と表示されました。
式をコピーします。
セル【F10】からセル【G10】まで選択します。選択したセルの右下にマウスポインターを合わせます。
マウスポインターが 十 になったら、12行目までドラッグします。
切り上げた結果が表示されました。
整数で求めた場合は小数点以下が「0」になり、小数第一位まで求めた場合は小数第二位以下が「0」になっているのがわかります。
次に、同じ表を使って切り捨てをします。整数と小数第一位までを求めます。
使用する関数は「ROUNDDOWN関数」です。
関数の形式は「=ROUNDDOWN(数値,桁数)」になります。
1つ目の引数の「数値」には、切り捨てる数値や数式、または数値が入力されているセルを指定します。
2つ目の引数の「桁数」には、数値を切り捨てた結果の桁数を指定します。
例えば、数値が123.456の場合、数値を整数で求めるには桁数に「0」を指定します。そうすると、小数第一位で切り捨てて「123」となります。
また、小数第一位まで求めるには、桁数に「1」を指定します。そうすると、小数第二位で切り捨てて「123.4」となります。
では、商品Aの「セール価格(整数)」に入る数式を考えます。
切り捨てる数値は、端数処理前のセール価格の数値のため、「数値」にはセル【F16】を指定します。整数で求めるには「桁数」に「0」を指定し、小数第一位まで求めるには [桁数] に「1」を指定します。
では、式を入力します。
セル【F16】をクリックします。[fx(関数の挿入)] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されるので、[関数の分類] が [数学/三角] になっていることを確認します。
[関数名] の中をクリックします。「ROUNDD」と入力します。
[関数名] の [ROUNDDOWN] が選択されていることを確認します。
[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E16】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「0」と入力します。
結果として「=1092」と表示されているのを確認します。[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUNDDOWN(E16,0)」と表示されました。
※結果が分かりやすいように、 [小数点以下の表示桁数を増やす] を2回クリックし、小数第二位まで表示されるようにしています。
では、小数第一位まで求める式を入力します。
セル【G16】をクリックします。[fx (関数の挿入)] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されるので、[関数の分類] が [数学/三角] になっていることを確認します。
[関数名] の中をクリックします。「ROUNDD」と入力します。
[関数名] の [ROUNDDOWN] が選択されていることを確認します。[OK] をクリックします。
[関数の引数] ダイアログボックスが表示されました。
[数値] にカーソルが表示されていることを確認します。セル【E16】をクリックします。
< Tab > キーを押して [桁数] にカーソルを移動します。「1」と入力します。
結果として「=1092.2」と表示されているのを確認します。[OK] をクリックします。
セルに結果が表示され、数式バーには「=ROUNDDOWN(E16,1)」と表示されました。
式をコピーします。
セル【F16】からセル【G16】まで選択します。選択したセルの右下にマウスポインターを合わせます。
マウスポインターが 十 になったら、18行目までドラッグします。
切り捨ての結果が表示されました。
整数で求めた場合は小数点以下が「0」になり、小数第一位まで求めた場合は小数第二位以下が「0」になっているのがわかります。
小数点以下の桁数を処理する際、[ホーム] タブの [数値] グループにある [小数点以下の表示桁数を増やす] または [小数点以下の表示桁数を減らす] を使っている方もいるのではないでしょうか。
[小数点以下の表示桁数を増やす] は、クリックするごとに小数点以下の表示桁数を1桁ずつ増やし、[小数点以下の表示桁数を減らす] は、小数点以下の表示桁数を1桁ずつ減らします。この時、端数の処理は四捨五入されます。
この [小数点以下の表示桁数を増やす/減らす] とROUND関数には明確な違いがあります。
[小数点以下の表示桁数を増やす] または [小数点以下の表示桁数を減らす] は、見た目が調整されるだけで、数値そのものは変更されません。
一方、関数を使うと数値そのものが変更されます。
では、違いを確認するために、数値を入力したセルと、ROUND関数の結果が表示されたセルを準備します。
セル【A1】に「123.4567」と入力します。< Enter > キーで確定します。
セル【A1】をクリックします。数式バーに「123.4567」と表示されていることを確認します。
[小数点以下の表示桁数を減らす] を2回クリックします。
「123.46」と小数第二位まで表示されました。
数式バーには「123.4567」と表示されており、数値そのものは変更されていないことが確認できます。
続いてセル【A2】に、「123.4567」を四捨五入し、小数点第2位まで表示させる関数を入力します。
セル【A2】をクリックし、「=ROUND(123.4567,2)」と入力します。
「123.46」と表示されました。
数式バーには「=ROUND(123.4567,2)」と表示されており、四捨五入した結果の数値そのものが表示されていることが分かります。
では違いがより分かるように、数値の小数点以下の表示を変更します。
セル【A1】からセル【A2】を選択します。[小数点以下の表示桁数を増やす] を2回クリックします。
数値の方は小数第四位までの値が表示されますが、ROUND関数の方は小数第三位で四捨五入された値が表示されているのがわかります。
このように、小数点以下の桁数を表示形式で処理するのか、ROUND関数を使って処理するのかにより、計算結果が変わることがあるため、作成する表に応じて使い分けましょう。